Главная страница
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.024 c
3-1122629751
Сергей Н.
2005-07-29 13:35
2005.09.11
Type mismatch for field


14-1123825588
PVOzerski
2005-08-12 09:46
2005.09.11
Как интерпретировать некоторые моменты вот такой лицензии?


14-1124136115
Piter
2005-08-16 00:01
2005.09.11
Кто-нибудь плагины к Миранде писал?


3-1122557123
tormoz
2005-07-28 17:25
2005.09.11
Скорорость работы с таблицой БД


9-1115463075
Кефир87
2005-05-07 14:51
2005.09.11
OpenGL : glBlengFunc : Текстура БЕЗ альфа канала...