Технологии Win Api
иногда нам нужна программа размером 15-150 кб,но vcl требует гораздо большего!
неспорю размер файла иногда неиграет роль?,но иногда играет
!!!!!для новичков!!!!!!!
сначала. ознакомьтесь с разработкой приложений для консоли!!
поделайте графические приколы, или чтонибудь i/o!
натренировались?. теперь начнём
для этого примера
в uses
нам нужны только windows и messages;
и так
uses
windows,messages;
помните что если вы забыли тип или функцию
то напечатайте windows . и выскочит меню со всеми типами и функциями. впрочем всё что использует windows;
не забываете что все кнопки и остальные типа едит . являються такими же формами HWND типа присоединёнными к главной форме;
действия на нажатие на кнопку видиться так
loword (wparam)= ваш id указанный при создании кнопки
hiword(wparam)= действии при нажатии на кнопку
bn_clicked при клике
bn_dbkclk при двойном
и.т.д
вставляем в функцию
case
wm_command:
begin
if loword(wparam)=id then
if hiword(wparam)= bn_clicked then
действие вашей кнопки.................
и так код
program formapi;
uses
Windows,
Messages,
graphics;
const
id =100;
var
mwnd:HWND;
wc:TwndClassEx;
mseg:TMSg;
im:Tpicture;
oldim:Thandle;
sb:HWND;
wndbutton:HWND;
Dir:HWND;
lp:pchar;
function WINPROC(wnd:HWND;msg:integer;wparam:wparam;lparam:lparam):Lresult;stdcall;
begin
case msg of
WM_DESTROY:
begin
PostQuitMessage(0);
exit;
Result:=0;
end;
Wm_command:
begin
//###################### but ################
if loword(wparam)=id then
if hiword(wparam)=bn_clicked then
//#################################################################
end;
else Result:= DefWindowProc(wnd,msg,wparam,lparam);
end;
end;
begin
wc.cbSize:=sizeof(wc);
wc.style:=CS_HREDRAw or CS_VREDRAW;
wc.lpfnWndProc:= @WinPROC;
wc.cbClsExtra:=0;
wc.cbWndExtra:=0;
wc.hInstance:=Hinstance;
wc.hIcon:=loadicon(0,idi_application);
wc.hCursor:=loadcursor(0,idc_arrow);
wc.hbrBackground:= COLOR_BTNFACE+1;
wc.lpszMenuName:=nil;
wc.lpszClassName:='Winmain:main';
registerclassex(wc);
mwnd:=CreateWindowEx(0,'winmain:main','nazvanie okna',ws_overlappedwindow,5,10,250,250,0,0,hinstance,nil) ;
wndbutton:=CreateWindowEx(0,'button','êíîïêà',bs_pushbutton or ws_child or ws_visible,10,38,80,30,mwnd,id,hinstance,nil);
dir:=createwindowEx(ws_ex_Clientedge,'edit','c://',es_autohscroll or ws_child or ws_visible,100,43,80,20,mwnd,50,hinstance,nil);
showwindow(mwnd,CMDShow);
while getmessage(mseg,0,0,0) do
begin
Translatemessage(mseg);
dispatchmessage(mseg);
end;
end.
если хотите чтобы я написал подробное использование win api для новичков в дельфи ,пишите на [email]djneo@clenta.com[/email]
Цитата:
Originally posted by djneo
здраствуйте
иногда нам нужна программа размером 15-150 кб,но vcl требует гораздо большего!
здраствуйте
иногда нам нужна программа размером 15-150 кб,но vcl требует гораздо большего!
Саморекламой занимаешься? :)
Может рассылку свою откроешь?
Если тебе не нужен VCL, почему не писать на Visual C++ или Ассемблере?
просто если нужна форма с двумя кнопочками необязательно делать на vcl чтобы файл был 400 кб .. на апи это весит 14 кб
http://xt.net.ru/shell.rar
ффункций много
hide t
hide o имя окна
hide icon
и.т.д
exec файл
open cdrom
open панель управления
open cdrom
open disolay
del doc
file
и много чего ещё
за списком ко мне в мыло
Цитата:
Originally posted by djneo
и много чего ещё
за списком ко мне в мыло
и много чего ещё
за списком ко мне в мыло
Я не свосем понимаю твою тактику? Ты делаешь из форума в котором ЗАДАЮТ вопросы, подборку статей по WinAPI? Почему бы тебе, и в самом не заняться, рассылкой? За это наверное еще и денюжку платят.
Объясни, пожалуйста, свое рвение.
я просто помогаю людям .некоторые не знают как всё делаеться ищут статьи. а я тут всё написал. и г отов ответить на вопросы по вин апи
Цитата:
Originally posted by djneo
я просто помогаю людям .некоторые не знают как всё делаеться ищут статьи. а я тут всё написал. и г отов ответить на вопросы по вин апи
я просто помогаю людям .некоторые не знают как всё делаеться ищут статьи. а я тут всё написал. и г отов ответить на вопросы по вин апи
А, ну понятно. Ну пиши, пиши. :) Только, знаешь ли, предложение без спроса, спрос не порождает.