mirror of
https://github.com/notepad-plus-plus/notepad-plus-plus.git
synced 2025-07-08 22:44:39 +02:00
Make icons in Function list/Project panel/Folder as Workspace display correctly under high DPI
And do some refactoring
This commit is contained in:
parent
abd1ea43c9
commit
d192f58b5b
@ -24,9 +24,6 @@
|
|||||||
#include "ReadDirectoryChanges.h"
|
#include "ReadDirectoryChanges.h"
|
||||||
#include "menuCmdID.h"
|
#include "menuCmdID.h"
|
||||||
|
|
||||||
#define CX_BITMAP 16
|
|
||||||
#define CY_BITMAP 16
|
|
||||||
|
|
||||||
#define INDEX_OPEN_ROOT 0
|
#define INDEX_OPEN_ROOT 0
|
||||||
#define INDEX_CLOSE_ROOT 1
|
#define INDEX_CLOSE_ROOT 1
|
||||||
#define INDEX_OPEN_NODE 2
|
#define INDEX_OPEN_NODE 2
|
||||||
@ -159,7 +156,7 @@ INT_PTR CALLBACK FileBrowser::run_dlgProc(UINT message, WPARAM wParam, LPARAM lP
|
|||||||
FileBrowser::initPopupMenus();
|
FileBrowser::initPopupMenus();
|
||||||
|
|
||||||
_treeView.init(_hInst, _hSelf, ID_FILEBROWSERTREEVIEW);
|
_treeView.init(_hInst, _hSelf, ID_FILEBROWSERTREEVIEW);
|
||||||
setImageList(IDI_FB_ROOTOPEN, IDI_FB_ROOTCLOSE, IDI_PROJECT_FOLDEROPEN, IDI_PROJECT_FOLDERCLOSE, IDI_PROJECT_FILE);
|
_treeView.setImageList(CX_BITMAP, CY_BITMAP, 5, IDI_FB_ROOTOPEN, IDI_FB_ROOTCLOSE, IDI_PROJECT_FOLDEROPEN, IDI_PROJECT_FOLDERCLOSE, IDI_PROJECT_FILE);
|
||||||
|
|
||||||
_treeView.addCanNotDropInList(INDEX_OPEN_ROOT);
|
_treeView.addCanNotDropInList(INDEX_OPEN_ROOT);
|
||||||
_treeView.addCanNotDropInList(INDEX_CLOSE_ROOT);
|
_treeView.addCanNotDropInList(INDEX_CLOSE_ROOT);
|
||||||
@ -425,57 +422,6 @@ bool FileBrowser::selectCurrentEditingFile() const
|
|||||||
return selectItemFromPath(currentDocPathStr);
|
return selectItemFromPath(currentDocPathStr);
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOL FileBrowser::setImageList(int root_clean_id, int root_dirty_id, int open_node_id, int closed_node_id, int leaf_id)
|
|
||||||
{
|
|
||||||
HBITMAP hbmp;
|
|
||||||
COLORREF maskColour = RGB(192, 192, 192);
|
|
||||||
const int nbBitmaps = 5;
|
|
||||||
|
|
||||||
// Creation of image list
|
|
||||||
if ((_hImaLst = ImageList_Create(CX_BITMAP, CY_BITMAP, ILC_COLOR32 | ILC_MASK, nbBitmaps, 0)) == NULL)
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
// Add the bmp in the list
|
|
||||||
hbmp = LoadBitmap(_hInst, MAKEINTRESOURCE(root_clean_id));
|
|
||||||
if (hbmp == NULL)
|
|
||||||
return FALSE;
|
|
||||||
ImageList_AddMasked(_hImaLst, hbmp, maskColour);
|
|
||||||
DeleteObject(hbmp);
|
|
||||||
|
|
||||||
hbmp = LoadBitmap(_hInst, MAKEINTRESOURCE(root_dirty_id));
|
|
||||||
if (hbmp == NULL)
|
|
||||||
return FALSE;
|
|
||||||
ImageList_AddMasked(_hImaLst, hbmp, maskColour);
|
|
||||||
DeleteObject(hbmp);
|
|
||||||
|
|
||||||
hbmp = LoadBitmap(_hInst, MAKEINTRESOURCE(open_node_id));
|
|
||||||
if (hbmp == NULL)
|
|
||||||
return FALSE;
|
|
||||||
ImageList_AddMasked(_hImaLst, hbmp, maskColour);
|
|
||||||
DeleteObject(hbmp);
|
|
||||||
|
|
||||||
hbmp = LoadBitmap(_hInst, MAKEINTRESOURCE(closed_node_id));
|
|
||||||
if (hbmp == NULL)
|
|
||||||
return FALSE;
|
|
||||||
ImageList_AddMasked(_hImaLst, hbmp, maskColour);
|
|
||||||
DeleteObject(hbmp);
|
|
||||||
|
|
||||||
hbmp = LoadBitmap(_hInst, MAKEINTRESOURCE(leaf_id));
|
|
||||||
if (hbmp == NULL)
|
|
||||||
return FALSE;
|
|
||||||
ImageList_AddMasked(_hImaLst, hbmp, maskColour);
|
|
||||||
DeleteObject(hbmp);
|
|
||||||
|
|
||||||
if (ImageList_GetImageCount(_hImaLst) < nbBitmaps)
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
// Set image list to the tree view
|
|
||||||
TreeView_SetImageList(_treeView.getHSelf(), _hImaLst, TVSIL_NORMAL);
|
|
||||||
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void FileBrowser::destroyMenus()
|
void FileBrowser::destroyMenus()
|
||||||
{
|
{
|
||||||
::DestroyMenu(_hGlobalMenu);
|
::DestroyMenu(_hGlobalMenu);
|
||||||
|
@ -182,7 +182,6 @@ protected:
|
|||||||
|
|
||||||
void initPopupMenus();
|
void initPopupMenus();
|
||||||
void destroyMenus();
|
void destroyMenus();
|
||||||
BOOL setImageList(int root_open_id, int root_close_id, int open_node_id, int closed_node_id, int leaf_id);
|
|
||||||
|
|
||||||
BrowserNodeType getNodeType(HTREEITEM hItem);
|
BrowserNodeType getNodeType(HTREEITEM hItem);
|
||||||
void popupMenuCmd(int cmdID);
|
void popupMenuCmd(int cmdID);
|
||||||
|
@ -23,9 +23,6 @@
|
|||||||
using nlohmann::json;
|
using nlohmann::json;
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
#define CX_BITMAP 16
|
|
||||||
#define CY_BITMAP 16
|
|
||||||
|
|
||||||
#define INDEX_ROOT 0
|
#define INDEX_ROOT 0
|
||||||
#define INDEX_NODE 1
|
#define INDEX_NODE 1
|
||||||
#define INDEX_LEAF 2
|
#define INDEX_LEAF 2
|
||||||
@ -636,45 +633,6 @@ void FunctionListPanel::notified(LPNMHDR notification)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOL FunctionListPanel::setTreeViewImageList(int root_id, int node_id, int leaf_id)
|
|
||||||
{
|
|
||||||
HBITMAP hbmp;
|
|
||||||
COLORREF maskColour = RGB(192, 192, 192);
|
|
||||||
const int nbBitmaps = 3;
|
|
||||||
|
|
||||||
// Creation of image list
|
|
||||||
if ((_hTreeViewImaLst = ImageList_Create(CX_BITMAP, CY_BITMAP, ILC_COLOR32 | ILC_MASK, nbBitmaps, 0)) == NULL)
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
// Add the bmp in the list
|
|
||||||
hbmp = LoadBitmap(_hInst, MAKEINTRESOURCE(root_id));
|
|
||||||
if (hbmp == NULL)
|
|
||||||
return FALSE;
|
|
||||||
ImageList_AddMasked(_hTreeViewImaLst, hbmp, maskColour);
|
|
||||||
DeleteObject(hbmp);
|
|
||||||
|
|
||||||
hbmp = LoadBitmap(_hInst, MAKEINTRESOURCE(node_id));
|
|
||||||
if (hbmp == NULL)
|
|
||||||
return FALSE;
|
|
||||||
ImageList_AddMasked(_hTreeViewImaLst, hbmp, maskColour);
|
|
||||||
DeleteObject(hbmp);
|
|
||||||
|
|
||||||
hbmp = LoadBitmap(_hInst, MAKEINTRESOURCE(leaf_id));
|
|
||||||
if (hbmp == NULL)
|
|
||||||
return FALSE;
|
|
||||||
ImageList_AddMasked(_hTreeViewImaLst, hbmp, maskColour);
|
|
||||||
DeleteObject(hbmp);
|
|
||||||
|
|
||||||
if (ImageList_GetImageCount(_hTreeViewImaLst) < nbBitmaps)
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
// Set image list to the tree view
|
|
||||||
TreeView_SetImageList(_treeView.getHSelf(), _hTreeViewImaLst, TVSIL_NORMAL);
|
|
||||||
TreeView_SetImageList(_treeViewSearchResult.getHSelf(), _hTreeViewImaLst, TVSIL_NORMAL);
|
|
||||||
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
void FunctionListPanel::searchFuncAndSwitchView()
|
void FunctionListPanel::searchFuncAndSwitchView()
|
||||||
{
|
{
|
||||||
TCHAR text2search[MAX_PATH] ;
|
TCHAR text2search[MAX_PATH] ;
|
||||||
@ -905,10 +863,13 @@ INT_PTR CALLBACK FunctionListPanel::run_dlgProc(UINT message, WPARAM wParam, LPA
|
|||||||
if (hf)
|
if (hf)
|
||||||
::SendMessage(_hSearchEdit, WM_SETFONT, reinterpret_cast<WPARAM>(hf), MAKELPARAM(TRUE, 0));
|
::SendMessage(_hSearchEdit, WM_SETFONT, reinterpret_cast<WPARAM>(hf), MAKELPARAM(TRUE, 0));
|
||||||
|
|
||||||
_treeViewSearchResult.init(_hInst, _hSelf, IDC_LIST_FUNCLIST_AUX);
|
|
||||||
_treeView.init(_hInst, _hSelf, IDC_LIST_FUNCLIST);
|
_treeView.init(_hInst, _hSelf, IDC_LIST_FUNCLIST);
|
||||||
|
_treeView.setImageList(CX_BITMAP, CY_BITMAP, 3, IDI_FUNCLIST_ROOT, IDI_FUNCLIST_NODE, IDI_FUNCLIST_LEAF);
|
||||||
|
_treeViewSearchResult.init(_hInst, _hSelf, IDC_LIST_FUNCLIST_AUX);
|
||||||
|
_treeViewSearchResult.setImageList(CX_BITMAP, 3, CY_BITMAP, IDI_FUNCLIST_ROOT, IDI_FUNCLIST_NODE, IDI_FUNCLIST_LEAF);
|
||||||
|
|
||||||
_treeView.makeLabelEditable(false);
|
_treeView.makeLabelEditable(false);
|
||||||
setTreeViewImageList(IDI_FUNCLIST_ROOT, IDI_FUNCLIST_NODE, IDI_FUNCLIST_LEAF);
|
|
||||||
|
|
||||||
_treeView.display();
|
_treeView.display();
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
@ -130,7 +130,6 @@ private:
|
|||||||
void notified(LPNMHDR notification);
|
void notified(LPNMHDR notification);
|
||||||
void addInStateArray(TreeStateNode tree2Update, const TCHAR *searchText, bool isSorted);
|
void addInStateArray(TreeStateNode tree2Update, const TCHAR *searchText, bool isSorted);
|
||||||
TreeParams* getFromStateArray(generic_string fullFilePath);
|
TreeParams* getFromStateArray(generic_string fullFilePath);
|
||||||
BOOL setTreeViewImageList(int root_id, int node_id, int leaf_id);
|
|
||||||
bool openSelection(const TreeView &treeView);
|
bool openSelection(const TreeView &treeView);
|
||||||
bool shouldSort();
|
bool shouldSort();
|
||||||
void setSort(bool isEnabled);
|
void setSort(bool isEnabled);
|
||||||
|
@ -23,9 +23,6 @@
|
|||||||
#include "localization.h"
|
#include "localization.h"
|
||||||
#include "Parameters.h"
|
#include "Parameters.h"
|
||||||
|
|
||||||
#define CX_BITMAP 16
|
|
||||||
#define CY_BITMAP 16
|
|
||||||
|
|
||||||
#define INDEX_CLEAN_ROOT 0
|
#define INDEX_CLEAN_ROOT 0
|
||||||
#define INDEX_DIRTY_ROOT 1
|
#define INDEX_DIRTY_ROOT 1
|
||||||
#define INDEX_PROJECT 2
|
#define INDEX_PROJECT 2
|
||||||
@ -82,8 +79,8 @@ INT_PTR CALLBACK ProjectPanel::run_dlgProc(UINT message, WPARAM wParam, LPARAM l
|
|||||||
ShowWindow(_hToolbarMenu, SW_SHOW);
|
ShowWindow(_hToolbarMenu, SW_SHOW);
|
||||||
|
|
||||||
_treeView.init(_hInst, _hSelf, ID_PROJECTTREEVIEW);
|
_treeView.init(_hInst, _hSelf, ID_PROJECTTREEVIEW);
|
||||||
|
_treeView.setImageList(CX_BITMAP, CY_BITMAP, 7, IDI_PROJECT_WORKSPACE, IDI_PROJECT_WORKSPACEDIRTY, IDI_PROJECT_PROJECT, IDI_PROJECT_FOLDEROPEN, IDI_PROJECT_FOLDERCLOSE, IDI_PROJECT_FILE, IDI_PROJECT_FILEINVALID);
|
||||||
|
|
||||||
setImageList(IDI_PROJECT_WORKSPACE, IDI_PROJECT_WORKSPACEDIRTY, IDI_PROJECT_PROJECT, IDI_PROJECT_FOLDEROPEN, IDI_PROJECT_FOLDERCLOSE, IDI_PROJECT_FILE, IDI_PROJECT_FILEINVALID);
|
|
||||||
_treeView.addCanNotDropInList(INDEX_LEAF);
|
_treeView.addCanNotDropInList(INDEX_LEAF);
|
||||||
_treeView.addCanNotDropInList(INDEX_LEAF_INVALID);
|
_treeView.addCanNotDropInList(INDEX_LEAF_INVALID);
|
||||||
|
|
||||||
@ -299,70 +296,6 @@ void ProjectPanel::initMenus()
|
|||||||
::InsertMenu(_hFileMenu, 0, MF_BYCOMMAND, IDM_PROJECT_MODIFYFILEPATH, edit_modifyfile.c_str());
|
::InsertMenu(_hFileMenu, 0, MF_BYCOMMAND, IDM_PROJECT_MODIFYFILEPATH, edit_modifyfile.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
BOOL ProjectPanel::setImageList(int root_clean_id, int root_dirty_id, int project_id, int open_node_id, int closed_node_id, int leaf_id, int ivalid_leaf_id)
|
|
||||||
{
|
|
||||||
HBITMAP hbmp;
|
|
||||||
COLORREF maskColour = RGB(192, 192, 192);
|
|
||||||
const int nbBitmaps = 7;
|
|
||||||
|
|
||||||
// Creation of image list
|
|
||||||
if ((_hImaLst = ImageList_Create(CX_BITMAP, CY_BITMAP, ILC_COLOR32 | ILC_MASK, nbBitmaps, 0)) == NULL)
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
// Add the bmp in the list
|
|
||||||
hbmp = LoadBitmap(_hInst, MAKEINTRESOURCE(root_clean_id));
|
|
||||||
if (hbmp == NULL)
|
|
||||||
return FALSE;
|
|
||||||
ImageList_AddMasked(_hImaLst, hbmp, maskColour);
|
|
||||||
DeleteObject(hbmp);
|
|
||||||
|
|
||||||
hbmp = LoadBitmap(_hInst, MAKEINTRESOURCE(root_dirty_id));
|
|
||||||
if (hbmp == NULL)
|
|
||||||
return FALSE;
|
|
||||||
ImageList_AddMasked(_hImaLst, hbmp, maskColour);
|
|
||||||
DeleteObject(hbmp);
|
|
||||||
|
|
||||||
hbmp = LoadBitmap(_hInst, MAKEINTRESOURCE(project_id));
|
|
||||||
if (hbmp == NULL)
|
|
||||||
return FALSE;
|
|
||||||
ImageList_AddMasked(_hImaLst, hbmp, maskColour);
|
|
||||||
DeleteObject(hbmp);
|
|
||||||
|
|
||||||
hbmp = LoadBitmap(_hInst, MAKEINTRESOURCE(open_node_id));
|
|
||||||
if (hbmp == NULL)
|
|
||||||
return FALSE;
|
|
||||||
ImageList_AddMasked(_hImaLst, hbmp, maskColour);
|
|
||||||
DeleteObject(hbmp);
|
|
||||||
|
|
||||||
hbmp = LoadBitmap(_hInst, MAKEINTRESOURCE(closed_node_id));
|
|
||||||
if (hbmp == NULL)
|
|
||||||
return FALSE;
|
|
||||||
ImageList_AddMasked(_hImaLst, hbmp, maskColour);
|
|
||||||
DeleteObject(hbmp);
|
|
||||||
|
|
||||||
hbmp = LoadBitmap(_hInst, MAKEINTRESOURCE(leaf_id));
|
|
||||||
if (hbmp == NULL)
|
|
||||||
return FALSE;
|
|
||||||
ImageList_AddMasked(_hImaLst, hbmp, maskColour);
|
|
||||||
DeleteObject(hbmp);
|
|
||||||
|
|
||||||
hbmp = LoadBitmap(_hInst, MAKEINTRESOURCE(ivalid_leaf_id));
|
|
||||||
if (hbmp == NULL)
|
|
||||||
return FALSE;
|
|
||||||
ImageList_AddMasked(_hImaLst, hbmp, maskColour);
|
|
||||||
DeleteObject(hbmp);
|
|
||||||
|
|
||||||
if (ImageList_GetImageCount(_hImaLst) < nbBitmaps)
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
// Set image list to the tree view
|
|
||||||
TreeView_SetImageList(_treeView.getHSelf(), _hImaLst, TVSIL_NORMAL);
|
|
||||||
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void ProjectPanel::destroyMenus()
|
void ProjectPanel::destroyMenus()
|
||||||
{
|
{
|
||||||
::DestroyMenu(_hWorkSpaceMenu);
|
::DestroyMenu(_hWorkSpaceMenu);
|
||||||
|
@ -120,7 +120,6 @@ protected:
|
|||||||
|
|
||||||
void initMenus();
|
void initMenus();
|
||||||
void destroyMenus();
|
void destroyMenus();
|
||||||
BOOL setImageList(int root_clean_id, int root_dirty_id, int project_id, int open_node_id, int closed_node_id, int leaf_id, int ivalid_leaf_id);
|
|
||||||
void addFiles(HTREEITEM hTreeItem);
|
void addFiles(HTREEITEM hTreeItem);
|
||||||
void addFilesFromDirectory(HTREEITEM hTreeItem);
|
void addFilesFromDirectory(HTREEITEM hTreeItem);
|
||||||
void recursiveAddFilesFrom(const TCHAR *folderPath, HTREEITEM hTreeItem);
|
void recursiveAddFilesFrom(const TCHAR *folderPath, HTREEITEM hTreeItem);
|
||||||
|
@ -261,6 +261,42 @@ HTREEITEM TreeView::searchSubItemByName(const TCHAR *itemName, HTREEITEM hParent
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BOOL TreeView::setImageList(int w, int h, int nbImage, int image_id, ...)
|
||||||
|
{
|
||||||
|
HBITMAP hbmp;
|
||||||
|
COLORREF maskColour = RGB(192, 192, 192);
|
||||||
|
|
||||||
|
// Creation of image list
|
||||||
|
int bmDpiDynW = NppParameters::getInstance()._dpiManager.scaleX(w);
|
||||||
|
int bmDpiDynH = NppParameters::getInstance()._dpiManager.scaleY(h);
|
||||||
|
if ((_hImaLst = ImageList_Create(bmDpiDynW, bmDpiDynH, ILC_COLOR32 | ILC_MASK, nbImage, 0)) == NULL)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
// Add the bmp in the list
|
||||||
|
va_list argLst;
|
||||||
|
va_start(argLst, image_id);
|
||||||
|
int imageID = image_id;
|
||||||
|
|
||||||
|
for (int i = 0; i < nbImage; i++)
|
||||||
|
{
|
||||||
|
if (i > 0)
|
||||||
|
imageID = va_arg(argLst, int);
|
||||||
|
|
||||||
|
hbmp = (HBITMAP)::LoadImage(_hInst, MAKEINTRESOURCE(imageID), IMAGE_BITMAP, bmDpiDynW, bmDpiDynH, 0);
|
||||||
|
if (hbmp == NULL)
|
||||||
|
return FALSE;
|
||||||
|
ImageList_AddMasked(_hImaLst, hbmp, maskColour);
|
||||||
|
DeleteObject(hbmp);
|
||||||
|
}
|
||||||
|
va_end(argLst);
|
||||||
|
|
||||||
|
// Set image list to the tree view
|
||||||
|
TreeView_SetImageList(_hSelf, _hImaLst, TVSIL_NORMAL);
|
||||||
|
//TreeView_SetImageList(_treeViewSearchResult.getHSelf(), _hTreeViewImaLst, TVSIL_NORMAL);
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
void TreeView::cleanSubEntries(HTREEITEM hTreeItem)
|
void TreeView::cleanSubEntries(HTREEITEM hTreeItem)
|
||||||
{
|
{
|
||||||
for (HTREEITEM hItem = getChildFrom(hTreeItem); hItem != NULL; hItem = getNextSibling(hItem))
|
for (HTREEITEM hItem = getChildFrom(hTreeItem); hItem != NULL; hItem = getNextSibling(hItem))
|
||||||
|
@ -21,6 +21,9 @@
|
|||||||
#include "Window.h"
|
#include "Window.h"
|
||||||
#include "Common.h"
|
#include "Common.h"
|
||||||
|
|
||||||
|
#define CX_BITMAP 16
|
||||||
|
#define CY_BITMAP 16
|
||||||
|
|
||||||
struct TreeStateNode {
|
struct TreeStateNode {
|
||||||
generic_string _label;
|
generic_string _label;
|
||||||
generic_string _extraData;
|
generic_string _extraData;
|
||||||
@ -116,14 +119,17 @@ public:
|
|||||||
bool searchLeafAndBuildTree(TreeView & tree2Build, const generic_string & text2Search, int index2Search);
|
bool searchLeafAndBuildTree(TreeView & tree2Build, const generic_string & text2Search, int index2Search);
|
||||||
void sort(HTREEITEM hTreeItem, bool isRecusive);
|
void sort(HTREEITEM hTreeItem, bool isRecusive);
|
||||||
void customSorting(HTREEITEM hTreeItem, PFNTVCOMPARE sortingCallbackFunc, LPARAM lParam, bool isRecursive);
|
void customSorting(HTREEITEM hTreeItem, PFNTVCOMPARE sortingCallbackFunc, LPARAM lParam, bool isRecursive);
|
||||||
|
BOOL setImageList(int w, int h, int nbImage, int image_id, ...);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
HIMAGELIST _hImaLst = nullptr;
|
||||||
WNDPROC _defaultProc = nullptr;
|
WNDPROC _defaultProc = nullptr;
|
||||||
LRESULT runProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam);
|
LRESULT runProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam);
|
||||||
|
|
||||||
static LRESULT CALLBACK staticProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) {
|
static LRESULT CALLBACK staticProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) {
|
||||||
return (((TreeView *)(::GetWindowLongPtr(hwnd, GWLP_USERDATA)))->runProc(hwnd, Message, wParam, lParam));
|
return (((TreeView *)(::GetWindowLongPtr(hwnd, GWLP_USERDATA)))->runProc(hwnd, Message, wParam, lParam));
|
||||||
};
|
};
|
||||||
|
|
||||||
void cleanSubEntries(HTREEITEM hTreeItem);
|
void cleanSubEntries(HTREEITEM hTreeItem);
|
||||||
void dupTree(HTREEITEM hTree2Dup, HTREEITEM hParentItem);
|
void dupTree(HTREEITEM hTree2Dup, HTREEITEM hParentItem);
|
||||||
bool searchLeafRecusivelyAndBuildTree(HTREEITEM tree2Build, const generic_string & text2Search, int index2Search, HTREEITEM tree2Search);
|
bool searchLeafRecusivelyAndBuildTree(HTREEITEM tree2Build, const generic_string & text2Search, int index2Search, HTREEITEM tree2Search);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user