Not able to set dock position at the bottom of notepad++
-
internal static void myDockableDialog()
{
if (MpsQcTool == null)
{
MpsQcTool = new QC_Tool_Dll.MpsQcTool();using (Bitmap newBmp = new Bitmap(16, 16)) { Graphics g = Graphics.FromImage(newBmp); ColorMap[] colorMap = new ColorMap[1]; colorMap[0] = new ColorMap(); colorMap[0].OldColor = Color.Fuchsia; colorMap[0].NewColor = Color.FromKnownColor(KnownColor.ButtonFace); ImageAttributes attr = new ImageAttributes(); attr.SetRemapTable(colorMap); g.DrawImage(tbBmp_tbTab, new Rectangle(0, 0, 16, 16), 0, 0, 16, 16, GraphicsUnit.Pixel, attr); tbIcon = Icon.FromHandle(newBmp.GetHicon()); } NppTbData _nppTbData = new NppTbData(); _nppTbData.hClient = MpsQcTool.Handle; _nppTbData.pszName = "MPS Qc Tool"; _nppTbData.dlgID = idMyDlg; _nppTbData.uMask = NppTbMsg.DWS_DF_CONT_BOTTOM | NppTbMsg.DWS_ICONTAB | NppTbMsg.DWS_ICONBAR; _nppTbData.hIconTab = (uint)tbIcon.Handle; _nppTbData.pszModuleName = PluginName; IntPtr _ptrNppTbData = Marshal.AllocHGlobal(Marshal.SizeOf(_nppTbData)); Marshal.StructureToPtr(_nppTbData, _ptrNppTbData, false); Win32.SendMessage(PluginBase.nppData._nppHandle, NppMsg.NPPM_DMMREGASDCKDLG, 0, _ptrNppTbData); } else { Win32.SendMessage(PluginBase.nppData._nppHandle, NppMsg.NPPM_DMMSHOW, 0, MpsQcTool.Handle); } get_tree_view(); }
-
Have you tried docking it to the left or right?
Here is how I’ve done it in C++ which has worked fine.
FYI
NppTbMsg.DWS_ICONBAR
is not supported at all. -
yes dail… i tried everything… but couldnt reset the position . It keep on goes to right side on _nppTbData. It will be so helpfull if you have any solution for this.
-
Using
DWS_DF_CONT_BOTTOM
gives the default position but does not force it to go there. Notepad++ remembers the location of the window and will open it back up in the previously known position. I think those settings are stored the config.xml file under<GUIConfig name="DockingManager"