Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование с использованием WinAPI

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61

Открыть новую тему     Написать ответ в эту тему

react



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ, помогите плиз - я в тупике !!!
 
 Как сотворить программу, в которой не регистрировалось никакого WNDCLASS'а и
  запускался бы диалог, а не стандартное какое-нить окно... Я пишу что-то типа:  
 
Код:
 
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE, LPSTR, int)
{
 MSG msg;
 DialogBoxParam(hInstance, TEXT("IDD_MainDialog"), NULL, (DLGPROC)DialogProc, 0);
 ShowWindow(hDlg, SW_SHOW);
 
 while(GetMessage(&msg, (HWND) NULL, 0, 0))
 {
   TranslateMessage(&msg);
   DispatchMessage(&msg);
 }
 return msg.wParam;
}
 
   

 
 Программа запускается, но диалог не показывает и зацикливается на обработке
  сообщений, но диалогу ниодного сообщения не поступает, так как-будто его не  
  существует...
 
  Если кто может поделиться каким-то советом или примером - буду очень благодарен.

Всего записей: 773 | Зарегистр. 08-02-2002 | Отправлено: 02:31 07-02-2004
vito333



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а сама диалоговая процедура у тебя присутствует?

Цитата:
(DLGPROC)DialogProc

для начала?

Всего записей: 3322 | Зарегистр. 13-05-2002 | Отправлено: 17:47 07-02-2004 | Исправлено: vito333, 17:54 07-02-2004
mihas83



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
react
Советую почитать Рихтера... Там очень много толковых примеров...

Всего записей: 7832 | Зарегистр. 15-07-2003 | Отправлено: 08:02 08-02-2004
react



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vito333

Цитата:
а сама диалоговая процедура у тебя присутствует

 Конечно присутствует !!!
 
 
mihas83

Цитата:
Советую почитать Рихтера... Там очень много толковых примеров...

 Я ужо читал - там примеры только через классы написаны ...

Всего записей: 773 | Зарегистр. 08-02-2002 | Отправлено: 09:01 08-02-2004
mihas83



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
react

Цитата:
 Я ужо читал - там примеры только через классы написаны  

Никакого МFC там и близко нет. Чистый АPI + макросы-распаковщики сообщений...

Всего записей: 7832 | Зарегистр. 15-07-2003 | Отправлено: 11:56 08-02-2004
TeXpert



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
react
Помнится, нечто подобное было у меня, когда был совсем зелёный. Это если в редакторе ресурсов (насколько помню) галочку поставишь насчёт класса диалогового окна, то после успешной сборки проекта ни шиша не увидишь. Впрочем, экспериментируй. А вообще, у Рихтера (и не только) много кода на базе диалоговых окон, посмотри его же книгу о программировании Windows 95 интерфейса или его же примеры из MSDN прежних годов выпуска, в его более ранних книгах примеры коротенькие и ясные, без лишних прибамбасов -- в этом смысле последнее издание менее предпочтительно. Вообще-то вс довольно элементарно. А если бы ты выложил архив твоего проекта, мигом бы тебе указали на глюки.

----------
Майкудук, Пришахтинск не предлагать!:)
А на Пирогова приходит снова весенний гомон...

Всего записей: 3604 | Зарегистр. 08-02-2003 | Отправлено: 00:49 09-02-2004
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
 ShowWindow(hDlg, SW_SHOW);  
 
 while(GetMessage(&msg, (HWND) NULL, 0, 0))  
 {  
   TranslateMessage(&msg);  
   DispatchMessage(&msg);  
 }

 
я исмпоьлзовал просто DialogBox. Так как там не надо заморачивать с TranslateMessageю
Если хочешь пулну проект, котрый делает диалоговое окно и работает с ним. Правда на дельфи.

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 02:03 09-02-2004
aplex

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

 
Есть некая прога, есть ее основное окно и дочерние окна этого окна. Причем сделано так что в основное окно вделаны эти дочерние. Spy++ отлавливаю сообщения при разных действиях. Посылаю аналогичные сообщения програмно. На сообщения посылаемые основному окну прога реагирует, на посылаемые дочерним нет. Может не все может SendMessage или в чем здесь хитрость ?  

Всего записей: 118 | Зарегистр. 17-04-2003 | Отправлено: 20:39 09-02-2004
anat75



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как развернуть программу из панели задачь и системного трея из другой программы. Задача такая запускаешь программу если есть вторая копия необходимо её показать пользователю. Если форма скрыта другими окнами всё получается. Из панели задачь - косяки. Да программа делается на стройке 6.

Всего записей: 128 | Зарегистр. 24-02-2004 | Отправлено: 19:44 24-02-2004
ssx



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
anat75

Цитата:
Как развернуть программу из панели задачь и системного трея из другой программы. Задача такая запускаешь программу если есть вторая копия необходимо её показать пользователю. Если форма скрыта другими окнами всё получается. Из панели задачь - косяки. Да программа делается на стройке 6.

ShowWindow(hwnd, SW_SHOW);

Всего записей: 500 | Зарегистр. 06-10-2003 | Отправлено: 20:20 24-02-2004
react



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди, кто-то под OWL писал ? Такой вопрос - есть сообщение EV_WM_CAPTURECHANGED
 которое присылается когда окно "теряет" мышу, так вот вся проблема в том, как его  
 обработать - виртуального обработчика то нет
 
  Если кто знает решение этой проблемы - напишите плиз, буду очень признателен...
   Если кто знает как этот message обрабатывать на Win_API - тоже пишите, может по  
   аналогии разберусь...

Всего записей: 773 | Зарегистр. 08-02-2002 | Отправлено: 02:40 07-04-2004
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Попробуй переопределить WinProc у окна, сохранив указатель где-нить в переменной, потом в своей винпрос смотришь если это то сообщение, то делаешь код, иначе вызываешь обработчик родной процедуры. примерно так

Цитата:
 
где нить в креате
 
OldProc:=SetWindowLong(GetDlgItem(hWnd,BTN_FILE), GWL_WNDPROC, Integer(@MenuProc));
 
а это в твоей процедуре, после проверки и обработке нужного сообщения
 
  result := CallWindowProc(pointer(OldProc), hWnd, Msg, wParam, lParam);
end;
 
 
 



----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 04:17 07-04-2004
react



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ShIvADeSt
 Это все конечно правильно, но в OWL это реализовывается по другому...

Всего записей: 773 | Зарегистр. 08-02-2002 | Отправлено: 08:53 07-04-2004
vito333



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а нет ли у кого готовой функции определения кодировок вин, кои, исо,мак, дос на С?
если есть - подкиньте плиз.

Всего записей: 3322 | Зарегистр. 13-05-2002 | Отправлено: 09:26 07-04-2004
vito333



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
кто-нибудь знает, как реализовать проверку орфографии средствами Word?

Всего записей: 3322 | Зарегистр. 13-05-2002 | Отправлено: 07:22 10-04-2004
TeXpert



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vito333

Цитата:
а нет ли у кого готовой функции определения кодировок вин, кои, исо,мак, дос на С?

Это в каком смысле-то? Определять, в какой кодировке содержимое файла/буфера? Но это, вообще-то, бессмысленно. Или, какой локаль установлен для потока? Хотя, судя по вопросу, на это не похож...
 

Цитата:
кто-нибудь знает, как реализовать проверку орфографии средствами Word?

А это каким боком к теме топика?

----------
Майкудук, Пришахтинск не предлагать!:)
А на Пирогова приходит снова весенний гомон...

Всего записей: 3604 | Зарегистр. 08-02-2003 | Отправлено: 23:45 10-04-2004
vito333



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TeXpert
1.

Цитата:
Это в каком смысле-то? Определять, в какой кодировке содержимое файла/буфера? Но это, вообще-то, бессмысленно. Или, какой локаль установлен для потока? Хотя, судя по вопросу, на это не похож...  

в самом прямом - определение кодовой страницы текстового файла - но уже не надо - реализовал ...
 
 
2.
 

Цитата:
кто-нибудь знает, как реализовать проверку орфографии средствами Word?  
 
А это каким боком к теме топика?

 
а таким, что пишу мелкий редактор на Спп и WinAPI, работка достаточно трудоемкая, вот регулярно и прошу помощи - сейчас подумал, как прицепить проверку орфографии - задал вопрос ...

Всего записей: 3322 | Зарегистр. 13-05-2002 | Отправлено: 01:31 11-04-2004
TeXpert



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vito333

Цитата:
...но уже не надо - реализовал ...

Надеюсь, ты понимаешь, что это сильное утверждение?
 

Цитата:
...сейчас подумал, как прицепить проверку орфографии - задал вопрос ...

Ну, раз уж пишешь отдельный редактор, то имеет смысл, наверное, использовать программу проверку орфографии, которая работает отдельно (в смысле -- ставится отдельно) -- когда-то была, например, WinOrfo, типа этого, и причём не одна прога.

----------
Майкудук, Пришахтинск не предлагать!:)
А на Пирогова приходит снова весенний гомон...

Всего записей: 3604 | Зарегистр. 08-02-2003 | Отправлено: 00:05 12-04-2004
vito333



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TeXpert

Цитата:
Надеюсь, ты понимаешь, что это сильное утверждение?  

 
это я не понял ....
 

Цитата:
Ну, раз уж пишешь отдельный редактор, то имеет смысл, наверное, использовать программу проверку орфографии, которая работает отдельно (в смысле -- ставится отдельно) -- когда-то была, например, WinOrfo, типа этого, и причём не одна прога.

 
хочу Word, потому что он есть везде, на каждой машине. В крайнем случае начеркаю свою проверку - просто муторно достаточно на АПИ все писать.

Всего записей: 3322 | Зарегистр. 13-05-2002 | Отправлено: 06:24 12-04-2004
TeXpert



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vito333

Цитата:
это я не понял ....

Хм,  

Цитата:
...определение кодовой страницы текстового файла

требует эвристики, тут никакая функция API не поможет. Я об этом. Требуется, грубо говоря, искусственный интеллект привлекать (смысловой разбор содержимого).
Например, есть слова (записанные в кодировке Windows ANSI 1251), которые при их перекодировке на другую (скажем, OEM 866 -- DOS) кодировку переходят в другие слова. Скажем, твой файл состоит из таких слов. И как ты собрался кодировку определить в этом случае?
 

Цитата:
хочу Word, потому что он есть везде, на каждой машине.

Не аргумент. На Unix/Linux нет Word'а, да и далеко не везде её ставят.
 

Цитата:
В крайнем случае начеркаю свою проверку - просто муторно достаточно на АПИ все писать.

Довольно муторная задача, однако. Обычно этим группы людей заняты.

----------
Майкудук, Пришахтинск не предлагать!:)
А на Пирогова приходит снова весенний гомон...

Всего записей: 3604 | Зарегистр. 08-02-2003 | Отправлено: 00:03 13-04-2004
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование с использованием WinAPI


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru