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

Вниз

Подскажите адреса FAQ   Найти похожие ветки 

 
trotski   (2002-12-24 22:33) [0]

Скачал удивительный WinAPI help, многому научился. Сделал прогу на API, всего 8кб!!! Единственный вопрос - где почитать про то, как клепать кнопки и тп - ведь это тоже своего рода окна?


 
Cobalt ©   (2002-12-25 00:20) [1]

Все в нем же - откройте вкладку "Содержание". Там, к сожалению, не по алфавиту...так что будтье внимательнее.


 
trotski   (2002-12-25 20:42) [2]

Если не затруднит, поподробнее


 
Rouse_ ©   (2002-12-25 21:25) [3]

В WindowsSDC из хелпа Delphi

Желаю успехов


 
trotski   (2002-12-26 22:59) [4]

Сделал через CreateWindowEx, класс Button, в качестве стиля bs_notify. Не работает. В хелпе ничего не нашел. Помогите разобраться пожалуйста


 
Rouse_ ©   (2002-12-27 00:13) [5]

Вот держи, на скорую руку вырезал

program testwindow;

uses
Windows,
Messages;

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

{ Checks if typed password is "Amigreen" and shows Message }
procedure CheckPassword;
var
Textlength: Integer;
Text: PChar;
begin
TextLength := GetWindowTextLength(Edit1);
if TextLength = 8 then
begin
GetMem(Text, TextLength + 1);
GetWindowText(Edit1, Text, TextLength + 1);
if Text = "Amigreen" then
begin
MessageBoxA(Handle, "Password is correct.", "Password check", MB_OK);
FreeMem(Text, TextLength + 1);
Exit;
end;
end;
MessageBoxA(Handle, "Password is incorrect.", "Password check", MB_OK);
end;

{ Custom WindowProc function }
function WindowProc(hWnd, uMsg, wParam, lParam: Integer): Integer; stdcall;
begin
Result := DefWindowProc(hWnd, uMsg, wParam, lParam);
{ Checks for messages }
if (lParam = Button1) and (uMsg = WM_COMMAND) then
CheckPassword;
if uMsg = WM_DESTROY then
Halt;
end;

begin
{ ** Register Custom WndClass ** }
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);

{ ** Create Main Window ** }
Handle := CreateWindowEx(WS_EX_WINDOWEDGE, "AG_TESTWINDOW", "Amigreen TestWindow 1.00",
WS_VISIBLE or WS_SIZEBOX or WS_CAPTION or WS_SYSMENU,
363, 278, 305, 65, 0, 0, Inst, nil);
{ ** Create a button ** }
Button1 := CreateWindow("Button", "OK", WS_VISIBLE or WS_CHILD or BS_PUSHLIKE or BS_TEXT,
216, 8, 75, 25, handle, 0, Inst, nil);
{ ** Create a label (static) ** }
Label1 := Createwindow("Static", "", WS_VISIBLE or WS_CHILD or SS_LEFT,
8, 12, 76, 13, Handle, 0, Inst, nil);

{ ** Create an edit field ** }
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);

{ ** Create Font Handle ** }
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");

{ Change fonts }
if hFont <> 0 then
begin
SendMessage(Button1, WM_SETFONT, hFont, 0);
SendMessage(Label1, WM_SETFONT, hFont, 0);
SendMessage(Edit1, WM_SETFONT, hFont, 0);
end;
{ Change label (static) text }
SetWindowText(Label1, "Enter password:");
{ Set the focus to the edit control }
SetFocus(Edit1);

UpdateWindow(Handle);

{ ** Message Loop ** }
while(GetMessage(Msg, Handle, 0, 0)) do
begin
TranslateMessage(msg);
DispatchMessage(msg);
end; { with }
end.

Желаю успехов


 
Rouse_ ©   (2002-12-27 00:15) [6]

Блин, сори, связь кривая :((((



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

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

Наверх




Память: 0.48 MB
Время: 0.011 c
1-28779
DAN
2003-02-01 16:07
2003.02.10
DLL?


1-28814
nikkie
2003-01-31 16:13
2003.02.10
Русские акселераторы


14-29028
Anatoly Podgoretsky
2003-01-23 07:51
2003.02.10
Именинники 23 января


1-28723
Ihtiandr
2003-01-31 17:25
2003.02.10
Минимальный размер формы


14-29057
Шишкин Илья
2003-01-24 17:46
2003.02.10
Можно ли с помощью cgi отправлять письма?