Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> API, Label на Form 
:(
    Опции темы
Alex
Дата 22.4.2002, 07:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162



Как с помощью API поместить Label на Form. Я пробовал сделать так
program Project1;

uses
 Windows,
 Messages;

const
myClassName= 'myWindow';

var
handleWnd, Label1 : THandle;
WndClass: TWndClass;
Msg: TMsg;

function WindowProc(Window: HWnd; AMessage, WParam,
                   LParam: Longint): Longint; stdcall;
begin
 WindowProc:= DefWindowProc(Window, AMessage, WParam, LParam);
 case AMessage of
   {WM_COMMAND: if lParam = Button1 then
                  MessageBox( 0, 'Вы нажали кнопку!', 'Информация',
                              MB_OK or MB_ICONINFORMATION);   }
   WM_DESTROY: Halt;
 end;
end;

begin
 with WndClass do
 begin
   hInstance    := hInstance;
   lpszClassName:= myClassName;
   style        := cs_hRedraw or cs_vRedraw;
   hbrBackground:= color_btnface +1;
   lpfnWndProc  := @WindowProc;
   hCursor      := LoadCursor(0, idc_Arrow);

   hIcon        := LoadIcon(0, IDI_EXCLAMATION);
   lpszMenuName := NIL;
   cbWndExtra   := 0;
   cbClsExtra   := 0;
 end;
 RegisterClass( WndClass );
 handleWnd:= CreateWindow(myClassName, 'Hажми кнопку', ws_OverlappedWindow,
  400, 300, 200, 100, 0, 0, hInstance , NIL);
 if handleWnd = 0 then
 begin
   MessageBox( 0, 'Error', NIL, MB_OK );
   Exit;
 end;
 Label1:= CreateWindow( 'Label', 'Text',

                         WS_VISIBLE or WS_CHILD or WM_SETTEXT,
                         20, 10, 60, 23, handleWnd, 0, hInstance, nil);

 ShowWindow(handleWnd, SW_SHOW);
 UpdateWindow(handleWnd);
 while GetMessage(Msg, handleWnd, 0, 0) do
 begin
   TranslateMessage(Msg) ;
   DispatchMessage(Msg) ;
 end;
end.


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Baa
Дата 22.4.2002, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: нет
Всего: 12



var
 hLabel : HWND ;
...
hLabel := CreateWindow ( 'STATIC', 'test', WS_CHILD or WS_VISIBLE,  0, 0, 200, 40, hWnd, NULL, hInstance, NULL );


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
Dexter
Дата 3.7.2002, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1562
Регистрация: 2.7.2002
Где: Москва, Бирюлево

Репутация: 1
Всего: 4



И это все что бы сделать Label :happy


--------------------
The only thing you really know about me is...
...that's all you'll ever know
PM MAIL ICQ   Вверх
Wowa
Дата 3.7.2002, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



Цитата(Dexter @ 03.7.2002, 20:30)
И это все что бы сделать Label :happy

да нет. Там вроде еще всякие окна создаются.
PM WWW   Вверх
Alex
Дата 4.7.2002, 08:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162



Интерестно, а зачем создавать label, если у вас не создано окно.


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
RA
Дата 4.7.2002, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 14
Всего: 115



Вот тебе, кнопочка, окно, Лэйбл и едит:

Код
program YoNigers;

uses
 Windows,
 Messages;

var
 WinClass: TWndClassA;
 Inst, Handle, Button1, Label1, Edit1: Integer;
 Msg: TMsg;
 hFont: Integer;

function WindowProc(hWnd, uMsg, wParam, lParam: Integer): Integer; stdcall;
begin
 Result := DefWindowProc(hWnd, uMsg, wParam, lParam);

 if uMsg = WM_DESTROY then
   Halt;
end;

begin
 Inst := hInstance;
 with WinClass do
 begin
   style              := CS_CLASSDC or CS_PARENTDC;
  lpfnWndProc        := @WindowProc;
   hInstance          := Inst;
   hbrBackground      := color_btnface + 1;
   lpszClassname      := 'AG_TESTWINDOW';
   hCursor            := LoadCursor(0, IDC_ARROW);
 end; { with }
 RegisterClass(WinClass);

 Handle := CreateWindowEx(WS_EX_WINDOWEDGE, 'AG_TESTWINDOW', 'You NigerS',
                          WS_VISIBLE or WS_SIZEBOX or WS_CAPTION or WS_SYSMENU,
                          363, 278, 305, 65, 0, 0, Inst, nil);

 Button1 := CreateWindow('Button', 'OK', WS_VISIBLE or WS_CHILD or BS_PUSHLIKE or BS_TEXT,
                          216, 8, 75, 25, handle, 0, Inst, nil);

 Label1 := Createwindow('Static', '', WS_VISIBLE or WS_CHILD or SS_LEFT,
              8, 12, 76, 13, Handle, 0, Inst, nil);


 Edit1 := CreateWindowEx(WS_EX_CLIENTEDGE, 'Edit', '', WS_CHILD or WS_VISIBLE or
                         WS_BORDER or ES_PASSWORD, 88, 8, 121, 21, Handle, 0, Inst, nil);


 hFont := CreateFont(-11, 0, 0, 0, 400, 0, 0, 0, DEFAULT_CHARSET,
                     OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,
                     DEFAULT_PITCH or FF_DONTCARE, 'MS Sans Serif');


 if hFont <> 0 then
 begin
   SendMessage(Button1, WM_SETFONT, hFont, 0);
   SendMessage(Label1, WM_SETFONT, hFont, 0);
   SendMessage(Edit1, WM_SETFONT, hFont, 0);
 end;
 SetWindowText(Label1, 'Hello');
 SetFocus(Edit1);
 UpdateWindow(Handle);
 while(GetMessage(Msg, Handle, 0, 0)) do
 begin
   TranslateMessage(msg);
   DispatchMessage(msg);
 end;
end.

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0484 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.