|
|
|
как объявить и использовать CALLBACK-функцию?
|
|||
|---|---|---|---|
|
#18+
собственно, вопрос в сабже, а чтобы было окончательно все понятно - пример кода на C++: int CALLBACK BrowseCallbackProc(HWND hwnd,UINT uMsg,LPARAM lParam,LPARAM lpData) { switch(uMsg) { case BFFM_INITIALIZED: SendMessage(hwnd,BFFM_SETSELECTION,TRUE,lpData); break; } return 0; } ... wchar_t *selectPath=_T("D:\\"); BROWSEINFO pBrowseInfo; ZeroMemory(&pBrowseInfo, sizeof(pBrowseInfo)); pBrowseInfo.hwndOwner = m_hWnd; pBrowseInfo.lpszTitle = _T("Choose Directory"); pBrowseInfo.lpfn=BrowseCallbackProc; pBrowseInfo.lParam=(LPARAM)selectPath; LPITEMIDLIST pItemIDList = SHBrowseForFolder(&pBrowseInfo); if (pItemIDList) { TCHAR strDirectory[512]; SHGetPathFromIDList(pItemIDList, strDirectory); return strDirectory; } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2009, 16:19 |
|
||
|
как объявить и использовать CALLBACK-функцию?
|
|||
|---|---|---|---|
|
#18+
Фрилансер, прототип данной Callback-функции аналогичен прототипу оконной процедуры: Код: plaintext 1. 2. P.S. Надо помнить про описание четвёртого параметра в Declare SendMessage: если он описан As Any, то надо вызов SendMessage оформлять как Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2009, 17:08 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=36162179&tid=2160635]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
14ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
24ms |
get tp. blocked users: |
1ms |
| others: | 192ms |
| total: | 261ms |

| 0 / 0 |
