Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Непонятное поведение диалога, вызываемого из WFX

 
Post new topic   Reply to topic    Total Commander Forum Index -> Написание плагинов для Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
mmm3396



Joined: 14 Jan 2008
Posts: 6
Location: Украина

Post (Separately) Posted: Wed Jun 11, 2008 22:00    Post subject: Непонятное поведение диалога, вызываемого из WFX Reply with quote

Пишу файлсистемный плагин. Нужно вызвать диалог для задания режимов работы. Для этого создал "псевдокаталог". Вызываю из 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;
}
К сожалению, наблюдается странность. Sad После запуска Total Commander диалог появляется, и с ним можно работать. Но стоит перезапустить TC, и диалог уже не показывается. Надо либо перезагружать компьютер, либо что-то немного изменить в исходниках программы, чтобы выполнилась перекомпиляция. До следующего перезапуска TC можно работать.
Я не являюсь крутым программистом, на поиски в литературе или в сети каких-то упоминаний о чем-то подобном могу потратить недели (и уже потратил), поэтому решился обратиться сюда за возможной консультацией... Confused


Last edited by mmm3396 on Wed Jun 11, 2008 22:12; edited 1 time in total
Back to top
View user's profile Send private message
VadiMGP



Joined: 21 Mar 2007
Posts: 1625

Post (Separately) Posted: Thu Jun 12, 2008 03:19    Post subject: Reply with quote

Похоже, что ты привел не реальный код, а, только иллюстрацию. По крайней мере диалог с такой процедурой ничего делать не может. Даже на кнопку ОК нету обработки.
Лучше покажи код полностью.
И кто является у тебя родительским окном?
Back to top
View user's profile Send private message
mmm3396



Joined: 14 Jan 2008
Posts: 6
Location: Украина

Post (Separately) Posted: Thu Jun 12, 2008 21:43    Post subject: Reply with quote

Спасибо за намек! "И кто является у тебя родительским окном?"
Я начал внимательнее изучать тему, посвященную определению хэндла окна, и обнаружил твое добавление к ней: "if (strcmp(WindowClass,"TTOTAL_CMD")==0)".
Вставил, и как будто заработало. До этого использовалось "if(IsWindowVisible(hWindow))".
Спавибо! Похоже, тема закрывается...
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Написание плагинов для Total Commander All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
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