Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Свои компоненты


Страницы:   1 2

CodeMaster ©   (2009-02-09 10:55:00) 

Я пишу программу на чистом API без использования VCL, возникает вопрос как мне создать свои компоненты в API не трогая при этом VCL? На VCL создавать всё гораздо проще TCustomControl помогает, но в API такой расслабухи нету и я теперь не знаю что-делать, подскажите.

Заранее спасибо.


CodeMaster   (2009-02-09 11:40:00) [21]

вот таким образом создаётся главная форма:
var
wc: TWndClass;
hWindow: HWND;
Msg: TMsg;
begin

wc.lpszClassName := 'POGiPlayer';
  wc.lpfnWndProc   := @MainWndProc;
  wc.Style         := CS_VREDRAW or CS_HREDRAW;
  wc.hInstance     := hInstance;
  wc.hIcon         := LoadIcon(0, IDI_APPLICATION);
  wc.hCursor       := LoadCursor(0, IDC_ARROW);
  wc.hbrBackground := (COLOR_WINDOW + 1);
  wc.lpszMenuName  := nil;
  wc.cbClsExtra    := 0;
  wc.cbWndExtra    := 0;
  RegisterClass(wc);
  hWindow := CreateWindowEx(WS_EX_CONTROLPARENT or WS_EX_WINDOWEDGE,
    'POGiPlayer',
    'POGiPlayer - Test Mode',
    WS_VISIBLE or WS_CLIPSIBLINGS or
    WS_CLIPCHILDREN or WS_OVERLAPPEDWINDOW,
    CW_USEDEFAULT, 0,
    400, 300,
    0,
    0,
    hInstance,
    nil);

  ShowWindow(hWindow, CmdShow);
  UpDateWindow(hWindow);

  while GetMessage(Msg, 0, 0, 0) do
  begin
    TranslateMessage(Msg);
    DispatchMessage(Msg);
  end;
  Halt(Msg.wParam);
end;


Anatoly Podgoretsky   (2009-02-09 11:40:00) [22]

> CodeMaster  (09.02.2009 10:55:00)  [0]

АПИ не поддерживает и не совместим с TComponent


CodeMaster   (2009-02-09 11:38:00) [23]

Ну а тогда каким образом мне вывести на форму компоненты?


Сергей М.   (2009-02-09 11:26:00) [24]


> как потом функцией CreateWindowEx вызвать компонент?


Чавой-то ?
CreateWindowEx не предназначена для "вызова компонентов".
Мало того, ни одна WinAPI-функция знать ничего не знает и знать не может ни о каких "компонентах" - в то время как строгалась Windows, среда Делфи с ее компонентами не существовала вообще или находилась в пуберантном периоде


Rouse_   (2009-02-09 11:25:00) [25]

В принципе можно посмотреть как это сделано в КОL, там тоже VCL не тянется...


CodeMaster   (2009-02-09 11:20:00) [26]

Да но как потом функцией CreateWindowEx вызвать компонент?


Сергей М.   (2009-02-09 11:05:00) [27]

Наследуйся от TComponent


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо