Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.09.11;
Скачать: CL | DM;

Вниз

Пример использования формы(на WinAPI) в dll.   Найти похожие ветки 

 
Antonn ©   (2005-07-20 12:58) [0]

Подкиньте, пожалуйста, примерчик или ссылку, как такое реализовать. Нашел примеры по использованию формы из dll, но там все на vcl, а мне надо на winapi форму и прогресс_бар. Не могу понять, как вообще это делать.
И, если можно, как на WinApi создать контрол с закладками(типа TTabbedNotebook)?


 
Eraser ©   (2005-07-20 13:37) [1]

Antonn ©   (20.07.05 12:58)

Всё это реализуется через API ф-ии CreateWindow/CreateWindowEx.


 
Anatoly Podgoretsky ©   (2005-07-20 18:46) [2]

WinAPI не в курсе насчет форм


 
GrayFace ©   (2005-07-20 23:13) [3]

Дай мне, пожалуйста, пример с VCL.
На WinApi, по сути, нет разницы - в dll или нет. Для уменьшения размера кода можешь поискать заменители VCL, можно использовать KOL (не знаю, что это, но штука известная. Наверное, тоже заменитель).


 
Antonn ©   (2005-07-21 08:48) [4]

GrayFace ©   (20.07.05 23:13) [3]
я хотел на Апи для маленького размера, потом глянул сколько геммора и но понятного, и сдался vcl.
Причем что понравилось в методе ниже, форму видно(Shift+F12) и можно редактировать.

//--------------- dpr dll -------------
library FID;
uses
 Classes,
 Unit1 in "Unit1.pas" {Form1};
exports
 Create_Form,
 Destroy_Form;
end.
//------------------------------------

//--------------- pas формы -------------
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
 private
   { Private declarations }
 public
   { Public declarations }
 end;

 procedure Create_Form(AppHandle: THandle); stdcall;
 procedure Destroy_Form; stdcall;

var
 Form1: TForm1;

implementation
{$R *.DFM}

procedure Create_Form(AppHandle: THandle);
begin
 Application.Handle := AppHandle;
 Form1 := TForm1.Create(Application);
 Form1.ShowModal;
end;

procedure Destroy_Form;
begin
 Form1.Free;
end;
end.
//------------------------------------

//-------------- в проекте подключаешь (статика) -----------------
..
procedure Create_Form(AppHandle: THandle); stdcall; external "FID.dll";
procedure Destroy_Form; stdcall; external "FID.dll";

implementation
{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
try
 Create_Form(Application.Handle);
finnaly
Destroy_Form;
end;
end;



Страницы: 1 вся ветка

Текущий архив: 2005.09.11;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.044 c
9-1116302618
Slavikk
2005-05-17 08:03
2005.09.11
Редактор карт


1-1124346379
Виталий1327
2005-08-18 10:26
2005.09.11
TList, освобождение памяти


9-1116476897
Slavikk
2005-05-19 08:28
2005.09.11
GLScene Как сделать квестовое перемещение


6-1116951646
Vladd
2005-05-24 20:20
2005.09.11
связка IdHTTP - IdSSLIOHandlerSocket


1-1124486594
BBoost
2005-08-20 01:23
2005.09.11
"перерисовать" экран