Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Программирование под WinAPI в Delphi

268
30 сентября 2005 года
Михаил
587 / / 25.06.2005
Есть вопросы и их не так уж и мало:
1. Необходима информация по программированию на чистом API в Delphi(сайты,туториалы, хелпы и т.д.).
2. Вопрос таков: есть шаблон диалога - там нестандартный компонент TMyComponent. Как осуществить обработку этого компонента?
3. Есть функция CreateWindow, она создаёт пустое окно, как добавить компоненты в это окно?
344
01 октября 2005 года
Delpher
493 / / 14.08.2005
Цитата:
Originally posted by Михаил
Есть вопросы и их не так уж и мало:
1. Необходима информация по программированию на чистом API в Delphi(сайты,туториалы, хелпы и т.д.).
2. Вопрос таков: есть шаблон диалога - там нестандартный компонент TMyComponent. Как осуществить обработку этого компонента?
3. Есть функция CreateWindow, она создаёт пустое окно, как добавить компоненты в это окно?



2.Какую обработку?Надо иметь сам компонент

ответы на все др вопросы ищи тут

268
01 октября 2005 года
Михаил
587 / / 25.06.2005
Цитата:
Originally posted by Delpher
2.Какую обработку?Надо иметь сам компонент


1. как создать такой компонент?
2. кто будет его родителями?
3. если можно, то пример

344
01 октября 2005 года
Delpher
493 / / 14.08.2005
Цитата:
Originally posted by Михаил
1. как создать такой компонент?
2. кто будет его родителями?
3. если можно, то пример



Никак.Найди исходники этого компонента

344
01 октября 2005 года
Delpher
493 / / 14.08.2005
Цитата:
Originally posted by Delpher
Никак.Найди исходники этого компонента



Или удали все обращения к этому компоненту, если повезет, то откомпилится прога

268
02 октября 2005 года
Михаил
587 / / 25.06.2005
Цитата:
Originally posted by Delpher
Никак.Найди исходники этого компонента


Вы меня не поняли, я сам хочу создать компонент.
1. Если делать в WorkShope(кстати по теме не знаете ли где его достать?), то там в свойствах элемента есть строка Class вот я её хочу использовать, а то самому все события обрабатывать - долго.
2. Как мне использовать ресурсы диалога. Дело в том, что я создал ресурс диалога, там был только окно диалога, и никаких дополнительных элементов(кнопок, строк ввода, списков и т.д.). Подключил его к программе, откомпилировал - работает, но как только я положил туда кнопочку, программа перестала работать, т.е она компилировалась, никаких ошибок, только сразу заканчивала работать(окошко вроде промигивало). Что это такое?

292
03 октября 2005 года
Matush
726 / / 14.01.2004
Цитата:
Originally posted by Михаил
Есть вопросы и их не так уж и мало:
1. Необходима информация по программированию на чистом API в Delphi(сайты,туториалы, хелпы и т.д.).
2. Вопрос таков: есть шаблон диалога - там нестандартный компонент TMyComponent. Как осуществить обработку этого компонента?
3. Есть функция CreateWindow, она создаёт пустое окно, как добавить компоненты в это окно?


1. На счет инфы, то лучше MSDN ничего нет.
2. Каждое окно имеет свой HWND, имея его можеш к нему обращаться функциями АПИ.
3. Эта же функция и добавляет компоненты (Едиты, кнопки, комбобоксы, листвью... Это все окошки со соими HWND)

268
09 октября 2005 года
Михаил
587 / / 25.06.2005
А вот в Delphi есть такое:
procedure Handler(var message:TMessage);message some_message;
кто назначает этой процедуре обработку сообщения?
сам Delphi? или кто?
10
10 октября 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by Михаил
А вот в Delphi есть такое:
procedure Handler(var message:TMessage);message some_message;
кто назначает этой процедуре обработку сообщения?
сам Delphi? или кто?


Это одна из фирменных фич Дельфи, прошитая в компилятор и реализованная в RTL. Посмотри исходники TObject - это сделано там.

268
15 октября 2005 года
Михаил
587 / / 25.06.2005
Это опять я с вопросами. Я хочу сделать некое подобие VCL только на API. Но ничего не выходит. Почему? Я хочу сделать так чтобы за каждое окно отвечал каждый класс.
Например Самое главное окно - Один класс.
Другое окно на главном - другой класс и т.д.
Но при запуске программы происходит runtime ошибка.
Я прикрепил файл - там программа. Посмотрите.
10
15 октября 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by Михаил
Но при запуске программы происходит runtime ошибка.
Я прикрепил файл - там программа. Посмотрите.


А конструктора-то я и не приметил.

1.9K
15 октября 2005 года
mail0
137 / / 09.05.2005
Цитата:
Originally posted by Freeman
А конструктора-то я и не приметил.


а я не приметил цикла обработки сообщений:
Вот код на Си, его нужно добавить после ShowWindow (предварительно его раскомментировав)
MSG msg;
while (GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}

не знаю как там на делфи будет... что то вроде этого

var
mess:MSG;
begin
....
ShowWindow(hwnd);
while (GetMessage(@msg,nil,0,0))
begin
TranslateMessage(@msg);
DispatchMessage(@msg);
end;
end;

10
15 октября 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by mail0
а я не приметил цикла обработки сообщений:


Гы, к runtime-ошибке это не имеет никакого отношения. :D

268
15 октября 2005 года
Михаил
587 / / 25.06.2005
Так с конструкторами я разобрался, а вот как мне сделать так чтоб wnd функция была методом объекта, т.е. как мне получить адрес метода объекта. Или так нельзя делать, чтоб метод объекта был wnd функцией?
10
16 октября 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by Михаил
Или так нельзя делать, чтоб метод объекта был wnd функцией?


Можно. Для этого в недрах VCL есть MakeObjectInstance. Не уверен, может быть, в последних версиях его заменили на что-то другое, могу и путать.

А вообще можешь скачать исходники KOL и посмотреть, как реализовано там. Наверное, даже не знаешь, что есть альтернативная библиотека визуальных компонентов для Дельфи, разработанная русскими. Ищи в Сети - проект в определенных кругах очень популярен.

268
23 октября 2005 года
Михаил
587 / / 25.06.2005
Вот я все тут почитал... и вот что сделал(файл прикреплен). Только вот возникает ошибка при создании самого окна. Посмотрите пожалуйста и скажите, что такое?
10
23 октября 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by Михаил
Посмотрите пожалуйста и скажите, что такое?


Runtime error 216 - бишь Access violation. В исходнике заметил еще использование ключевого слова overload вместо override. RTFM, RTFM и еще раз RTFM!

268
28 октября 2005 года
Михаил
587 / / 25.06.2005
Цитата:
Originally posted by Freeman
Runtime error 216 - бишь Access violation. В исходнике заметил еще использование ключевого слова overload вместо override. RTFM, RTFM и еще раз RTFM!


1. Так какая разница между override и overload. В хелпе я начитал, что overload используется с virtual и dynamic methods а override с остальными.
2. Что такое RTFM?

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог