/// <summary> /// Helper to add a clickable icon in the toolbar /// </summary> /// <param name="image"></param> /// <param name="pluginId"></param> public static void SetToolbarImage(Bitmap image, int pluginId) { var tbIcons = new toolbarIcons { hToolbarBmp = image.GetHbitmap() }; var pTbIcons = Marshal.AllocHGlobal(Marshal.SizeOf(tbIcons)); Marshal.StructureToPtr(tbIcons, pTbIcons, false); Win32Api.SendMessage(Handle, NppMsg.NPPM_ADDTOOLBARICON, UnmanagedExports.NppFuncItems.Items[pluginId]._cmdID, pTbIcons); Marshal.FreeHGlobal(pTbIcons); }
public void SetToolBarIcon() { toolbarIcons tbIcons = new toolbarIcons(); tbIcons.hToolbarBmp = Properties.Resources.markdown_16x16_solid.GetHbitmap(); IntPtr pTbIcons = Marshal.AllocHGlobal(Marshal.SizeOf(tbIcons)); Marshal.StructureToPtr(tbIcons, pTbIcons, false); Win32.SendMessage(PluginBase.nppData._nppHandle, (uint)NppMsg.NPPM_ADDTOOLBARICON, PluginBase._funcItems.Items[idMyDlg]._cmdID, pTbIcons); Marshal.FreeHGlobal(pTbIcons); }
internal static void SetToolBarIcon() { toolbarIcons tbIcons = new toolbarIcons(); tbIcons.hToolbarBmp = tbBmp.GetHbitmap(); IntPtr pTbIcons = Marshal.AllocHGlobal(Marshal.SizeOf(tbIcons)); Marshal.StructureToPtr(tbIcons, pTbIcons, false); Win32.SendMessage(PluginBase.nppData._nppHandle, NppMsg.NPPM_ADDTOOLBARICON, PluginBase._funcItems.Items[idMyDlg]._cmdID, pTbIcons); Marshal.FreeHGlobal(pTbIcons); }
static public void SetToolbarImage(Bitmap image, int pluginId) { var tbIcons = new toolbarIcons(); tbIcons.hToolbarBmp = image.GetHbitmap(); IntPtr pTbIcons = Marshal.AllocHGlobal(Marshal.SizeOf(tbIcons)); Marshal.StructureToPtr(tbIcons, pTbIcons, false); Win32.SendMessage(NppData._nppHandle, NppMsg.NPPM_ADDTOOLBARICON, FuncItems.Items[pluginId]._cmdID, pTbIcons); Marshal.FreeHGlobal(pTbIcons); }
private void SetToolBarIcon() { toolbarIcons tbIcons = new toolbarIcons(); tbIcons.hToolbarBmp = _gitBitmap.GetHbitmap(); IntPtr pTbIcons = Marshal.AllocHGlobal(Marshal.SizeOf(tbIcons)); Marshal.StructureToPtr(tbIcons, pTbIcons, false); Win32.SendMessage(nppData._nppHandle, NppMsg.NPPM_ADDTOOLBARICON, _funcItems.Items[_idCommandShowGitGui]._cmdID, pTbIcons); Marshal.FreeHGlobal(pTbIcons); }
internal static void SetToolBarIcon() { var tbIcons = new toolbarIcons(); tbIcons.hToolbarBmp = Resources.Resources.jsparsericon.GetHbitmap(); var pTbIcons = Marshal.AllocHGlobal(Marshal.SizeOf(tbIcons)); Marshal.StructureToPtr(tbIcons, pTbIcons, false); Win32.SendMessage(nppData._nppHandle, NppMsg.NPPM_ADDTOOLBARICON, _funcItems.Items[idMenuItemParserUi]._cmdID, pTbIcons); Marshal.FreeHGlobal(pTbIcons); }
internal static void SetToolBarIcon() { // TODO: Maybe check out https://docs.microsoft.com/en-us/windows/desktop/controls/embed-nonbutton-controls-in-toolbars to create counter within toolbar as alternative? toolbarIcons tbIcons = new toolbarIcons(); tbIcons.hToolbarBmp = tbBmp.GetHbitmap(); IntPtr pTbIcons = Marshal.AllocHGlobal(Marshal.SizeOf(tbIcons)); Marshal.StructureToPtr(tbIcons, pTbIcons, false); Win32.SendMessage(PluginBase.nppData._nppHandle, (uint)NppMsg.NPPM_ADDTOOLBARICON, PluginBase._funcItems.Items[idMyDlg]._cmdID, pTbIcons); Marshal.FreeHGlobal(pTbIcons); }
internal static void SetToolBarIcon() { var tbIcons = new toolbarIcons { hToolbarBmp = TbBmp.GetHbitmap() }; var pTbIcons = Marshal.AllocHGlobal(Marshal.SizeOf(tbIcons)); Marshal.StructureToPtr(tbIcons, pTbIcons, false); Win32.SendMessage(PluginBase.nppData._nppHandle, (uint)NppMsg.NPPM_ADDTOOLBARICON, PluginBase._funcItems.Items[_idConfigWindow]._cmdID, pTbIcons); Marshal.FreeHGlobal(pTbIcons); }
internal static void SetToolBarIcon() { toolbarIcons tbIcons = new toolbarIcons(); tbIcons.hToolbarBmp = new Bitmap(@"plugins\Config\Decide.bmp").GetHbitmap(); IntPtr pTbIcons = Marshal.AllocHGlobal(Marshal.SizeOf(tbIcons)); Marshal.StructureToPtr(tbIcons, pTbIcons, false); Win32.SendMessage( PluginBase.nppData._nppHandle, NppMsg.NPPM_ADDTOOLBARICON, PluginBase._funcItems.Items[IndexOfTheCommandThatGetsTheToolBarIcon]._cmdID, pTbIcons); Marshal.FreeHGlobal(pTbIcons); }
private void SetToolBarIcons() { var toolBarItems = GetToolbarButtons(); foreach (var button in toolBarItems) { var tbIcons = new toolbarIcons(); tbIcons.hToolbarBmp = button.Image.GetHbitmap(); var pTbIcons = Marshal.AllocHGlobal(Marshal.SizeOf(tbIcons)); Marshal.StructureToPtr(tbIcons, pTbIcons, false); Win32.SendMessage(_nppData._nppHandle, NppMsg.NPPM_ADDTOOLBARICON, _funcItems.Items[button.Id]._cmdID, pTbIcons); Marshal.FreeHGlobal(pTbIcons); } }
public override void SetToolBarIcon() { toolbarIcons tbIcons = new toolbarIcons(); tbIcons.hToolbarBmp = tbLoad.GetHbitmap(); IntPtr pTbIcons = Marshal.AllocHGlobal(Marshal.SizeOf(tbIcons)); Marshal.StructureToPtr(tbIcons, pTbIcons, false); Win32.SendMessage(PluginBase.NppData._nppHandle, (uint)NppMsg.NPPM_ADDTOOLBARICON, PluginBase.FuncItems.Items[OpenCommandId]._cmdID, pTbIcons); Marshal.FreeHGlobal(pTbIcons); tbIcons = new toolbarIcons(); tbIcons.hToolbarBmp = tbSave.GetHbitmap(); pTbIcons = Marshal.AllocHGlobal(Marshal.SizeOf(tbIcons)); Marshal.StructureToPtr(tbIcons, pTbIcons, false); Win32.SendMessage(PluginBase.NppData._nppHandle, (uint)NppMsg.NPPM_ADDTOOLBARICON, PluginBase.FuncItems.Items[SaveCommandId]._cmdID, pTbIcons); Marshal.FreeHGlobal(pTbIcons); }
private static void SetSingleToolbarIcon(Bitmap bmp, int cmdID) { try { toolbarIcons tbIcons = new toolbarIcons(); tbIcons.hToolbarBmp = bmp.GetHbitmap(); IntPtr pTbIcons = Marshal.AllocHGlobal(Marshal.SizeOf(tbIcons)); Marshal.StructureToPtr(tbIcons, pTbIcons, false); Win32.SendMessage(nppData._nppHandle, NppMsg.NPPM_ADDTOOLBARICON, _funcItems.Items[cmdID - 1]._cmdID, pTbIcons); Marshal.FreeHGlobal(pTbIcons); } catch (Exception e) { if (log != null) { log.ErrorFormat("Cannot set toolbar with cmdID={0} due to {1}", cmdID, e.Message); } } }
public static void SetToolBarIcon() { var icons = new toolbarIcons { hToolbarBmp = Resources.cq.GetHbitmap() }; using (var iconPointer = new TemporaryPointer(icons)) { Win32.SendMessage(PluginBase.nppData._nppHandle, (uint)NppMsg.NPPM_ADDTOOLBARICON, PluginBase.GetMenuItemId("Toggle query window"), iconPointer.Pointer); } //var iconPointer = Marshal.AllocHGlobal(Marshal.SizeOf(icons)); //Marshal.StructureToPtr(icons, iconPointer, false); //Win32.SendMessage(PluginBase.nppData._nppHandle, // (uint)NppMsg.NPPM_ADDTOOLBARICON, // PluginBase.GetMenuItemId("Toggle query window"), // iconPointer); //Marshal.FreeHGlobal(iconPointer); }
internal static void SetToolBarIcon() { if (!_showTabBarIcons) { return; } var toolbarIconEditIndent = Properties.Resources.edit_indent; var tbIcons = new toolbarIcons { hToolbarBmp = toolbarIconEditIndent.GetHbitmap() }; var pTbIcons = Marshal.AllocHGlobal(Marshal.SizeOf(tbIcons)); Marshal.StructureToPtr(tbIcons, pTbIcons, false); Win32.SendMessage( nppData._nppHandle, NppMsg.NPPM_ADDTOOLBARICON, _funcItems.Items[(int)CmdIndex.IndentationSettings]._cmdID, pTbIcons); Marshal.FreeHGlobal(pTbIcons); var toolbarIconBinocularPencil = Properties.Resources.binocular_pencil; tbIcons = new toolbarIcons { hToolbarBmp = toolbarIconBinocularPencil.GetHbitmap() }; pTbIcons = Marshal.AllocHGlobal(Marshal.SizeOf(tbIcons)); Marshal.StructureToPtr(tbIcons, pTbIcons, false); Win32.SendMessage( nppData._nppHandle, NppMsg.NPPM_ADDTOOLBARICON, _funcItems.Items[(int)CmdIndex.FindAndReplace]._cmdID, pTbIcons); Marshal.FreeHGlobal(pTbIcons); }
internal static void SetToolBarIcon() { var tbIcons = new toolbarIcons { hToolbarBmp = TbBmp.GetHbitmap() }; var pTbIcons = Marshal.AllocHGlobal(Marshal.SizeOf(tbIcons)); Marshal.StructureToPtr(tbIcons, pTbIcons, false); Win32.SendMessage(PluginBase.NppData._nppHandle, NppMsg.NPPM_ADDTOOLBARICON, PluginBase.FuncItems.Items[_idMyDlg]._cmdID, pTbIcons); Marshal.FreeHGlobal(pTbIcons); }