View previous topic :: View next topic |
Author |
Message |
mmm3396
Joined: 14 Jan 2008 Posts: 6 Location: Украина
|
(Separately) Posted: Wed Jun 11, 2008 22:00 Post subject: Непонятное поведение диалога, вызываемого из WFX |
|
|
Пишу файлсистемный плагин. Нужно вызвать диалог для задания режимов работы. Для этого создал "псевдокаталог". Вызываю из FsFindFirst (пишу на Visual C++ 6.0):
DialogBox(HInstance, MAKEINTRESOURCE(IDD_DIALOG1), window, DlgProc);
Ну, и пишу DlgProc.
Code: | BOOL CALLBACK DlgProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
switch (uMsg){
case WM_INITDIALOG:
break;
case WM_CLOSE:
EndDialog(hWnd,0);
break;
default:
return FALSE;
}// switch
return TRUE;
}
| К сожалению, наблюдается странность. После запуска Total Commander диалог появляется, и с ним можно работать. Но стоит перезапустить TC, и диалог уже не показывается. Надо либо перезагружать компьютер, либо что-то немного изменить в исходниках программы, чтобы выполнилась перекомпиляция. До следующего перезапуска TC можно работать.
Я не являюсь крутым программистом, на поиски в литературе или в сети каких-то упоминаний о чем-то подобном могу потратить недели (и уже потратил), поэтому решился обратиться сюда за возможной консультацией...
Last edited by mmm3396 on Wed Jun 11, 2008 22:12; edited 1 time in total |
|
Back to top |
|
|
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Thu Jun 12, 2008 03:19 Post subject: |
|
|
Похоже, что ты привел не реальный код, а, только иллюстрацию. По крайней мере диалог с такой процедурой ничего делать не может. Даже на кнопку ОК нету обработки.
Лучше покажи код полностью.
И кто является у тебя родительским окном? |
|
Back to top |
|
|
mmm3396
Joined: 14 Jan 2008 Posts: 6 Location: Украина
|
(Separately) Posted: Thu Jun 12, 2008 21:43 Post subject: |
|
|
Спасибо за намек! "И кто является у тебя родительским окном?"
Я начал внимательнее изучать тему, посвященную определению хэндла окна, и обнаружил твое добавление к ней: "if (strcmp(WindowClass,"TTOTAL_CMD")==0)".
Вставил, и как будто заработало. До этого использовалось "if(IsWindowVisible(hWindow))".
Спавибо! Похоже, тема закрывается... |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|