| Автор
| Сообщение |
 TuXAPuK
Великий гонщик


Возраст: 26
Знак зодиака: 
Зарегистрирован: 12.09.2005
Сообщения: 714
Откуда: Великий город Рига... =Ъ
|
|
|
Цитата |
|
Под делфи 6
| Код: | Program ConsoleMenu;
{$APPTYPE CONSOLE}
{$R ResHackRc\MenuResource.res}
{$R ResHackRc\IconResource.res}
Uses
SysUtils, Windows, Messages ;
Var
hAppWindow: hWnd;
pMessage: tagMSG;
hConsoleOutput: Cardinal;
// DebugResult: Variant;
Const
c_sApplicationCaption: String = 'Console Application He! He!';
Begin
// SetTitle, FindHandle, SetIcon, SetMenu
SetConsoleTitle(PChar(c_sApplicationCaption));
hAppWindow := FindWindow(Nil, PChar(c_sApplicationCaption));
SendMessage(hAppWindow, WM_SETICON, ICON_SMALL, LParam(LoadIcon(hInstance, 'MAINICON')));
SetMenu(hAppWindow, LoadMenu(hInstance, 'MNU_MAIN'));
// Find STD_OUTPUT_HANDLE
hConsoleOutput := GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hConsoleOutput, FOREGROUND_RED Or FOREGROUND_GREEN Or FOREGROUND_INTENSITY);
WriteLn(PChar(c_sApplicationCaption));
While GetMessage(pMessage, 0, 0, 0) Do
Begin
TranslateMessage(pMessage);
DispatchMessage(pMessage);
End;
End.
|
Изучили???
Так вот у меня вооопросик возник... Почему Менюшка и иконка через раз поевляются... Сколько я над данной темой думал нефига в голову не лезет......
И кстате... Некак немогу вспомнить как CallBack обрабатывать которые MainMenu отсылает  |
|
| В начало |
|
 |
|
|
 |
 TuXAPuK
Великий гонщик


Возраст: 26
Знак зодиака: 
Зарегистрирован: 12.09.2005
Сообщения: 714
Откуда: Великий город Рига... =Ъ
|
|
|
Цитата |
|
Вот так она у меня запускается с 1-й попытки
И наконец-то на пятый раз...
 |
|
| В начало |
|
 |
 NikotiN
Розовый мамонт

Возраст: 26
Знак зодиака: 
Зарегистрирован: 18.03.2005
Сообщения: 2137
|
|
|
Цитата |
|
| попробуй update сделать, может поможет... |
|
| В начало |
|
 |
 TuXAPuK
Великий гонщик


Возраст: 26
Знак зодиака: 
Зарегистрирован: 12.09.2005
Сообщения: 714
Откуда: Великий город Рига... =Ъ
|
|
|
Цитата |
|
Вообщем попробывал я UpdateWindow(hAppWindow); ситуация крайне изменилась в лучшую сторону.. Но всёравно каждый 5й раз менюшка НЕ поевляется я от этих багов скоро с ума сойду..  _________________
 |
|
| В начало |
|
 |
 NikotiN
Розовый мамонт

Возраст: 26
Знак зодиака: 
Зарегистрирован: 18.03.2005
Сообщения: 2137
|
|
|
Цитата |
|
| ну тогда update и refresh/repaint )))) |
|
| В начало |
|
 |
 TuXAPuK
Великий гонщик


Возраст: 26
Знак зодиака: 
Зарегистрирован: 12.09.2005
Сообщения: 714
Откуда: Великий город Рига... =Ъ
|
|
|
Цитата |
|
Так вот... Отвечаю сам на свой вопрос!!
Меню не поевляется потому-что! при поиске Caption
| Код: | | hAppWindow := FindWindow(Nil, PChar(c_sApplicationCaption)); |
Ещё не успевает появится окно кансольного приложения!
То-есть надо было всего-лиш зделать Write(' '); до поиска.. Что-бы окно появилось... А уж потом его находить =) =) _________________
 |
|
| В начало |
|
 |
 TuXAPuK
Великий гонщик


Возраст: 26
Знак зодиака: 
Зарегистрирован: 12.09.2005
Сообщения: 714
Откуда: Великий город Рига... =Ъ
|
|
|
Цитата |
|
Воот опять карректирую... На очень старых компах и этого не хватает пришлось выкручиваться в редиску... и зделать так...
| Код: |
hAppWindow := 0;
While (hAppWindow = 0) Do
Begin
Application.ProcessMessages;
hAppWindow := FindWindow(Nil, PChar(c_sApplicationCaption));
End;
|
ok _________________
 |
|
| В начало |
|
 |
DrPass
Знающий :) /Почетный Модератор/

Возраст: 31
Знак зодиака: 
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
|
|
|
Цитата |
|
А ты не жди, когда винда тебе консоль выдаст, а сам ее создавай - AllocConsole в начале программы _________________ Да пребудет с вами Сила! |
|
| В начало |
|
 |
|