Главная страница
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.042 c
1-1124200063
newguest
2005-08-16 17:47
2005.09.11
Почему не создается объект ?


2-1123253967
Серджио_Точини
2005-08-05 18:59
2005.09.11
Алгоритм разбора параметров командной строки


6-1116549473
Hecker
2005-05-20 04:37
2005.09.11
Tracert и Ping?


1-1124747605
kimona
2005-08-23 01:53
2005.09.11
RichEdit and background Image


1-1123694728
Starcom
2005-08-10 21:25
2005.09.11
Как у MessageDlg сделать фон к примеру Белым?