Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.12.30;
Скачать: [xml.tar.bz2];

Вниз

Вопросик...   Найти похожие ветки 

 
Обсолютный ноль   (2002-11-06 14:48) [0]

Вопрос: привидите по жалуйста простенький пример програмы с формой написанной на API.
Заранее благодарен.


 
Игорь Шевченко   (2002-11-06 15:46) [1]

А это что за язык такой ?


 
Lexa1900   (2002-11-06 20:22) [2]

program winmin;

uses
windows, messages;

{"модули windows и messages самые необходимые — они обязательно должны быть
объявлены в начале каждой Вашей программы!}
var
wc : TWndClassEx; //Переменная шаблона класса окна
MainWnd : HWND; //Описатель главного окна
Mesg : TMsg; //Переменная для цикла сбора сообщений
{ Далее следует оконная процедура главного окна. Обратите внимание на служебное
слово stdcall оно вынуждает компиллятор генерировать особый вид кода, который

может быть вызван любой windows-программой, без этого служебного слова
программа не сможет работать вообще!}

function WindowProc(wnd:HWND; Msg : Integer; Wparam:Wparam; Lparam:Lparam):Lresult;
stdcall;
Begin
{Далее происходит цикл обработки сообщений}
case msg of
wm_destroy : //Сообщение посылаемое при уничтожении окна
Begin
postquitmessage(0); exit;

Result:=0;
End
else Result:=DefWindowProc(wnd,msg,wparam,lparam);
end;
End;

{Переменные xPos,yPos,nWidth,nHeight в принципе не нужны, однако я их завел
(и вам рекомендую) для лучшей читабельности программы}

var
xPos,yPos,nWidth,nHeight : Integer;
begin //Тело программы
{ Далее идет заполнение шаблона класса окна}

wc.cbSize:=sizeof(wc);
wc.style:=cs_hredraw or cs_vredraw;
wc.lpfnWndProc:=@WindowProc;
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:="WinMin : Main";
RegisterClassEx(wc); //Регистрация нового класса в системе

{"заполнение переменных xPos,yPos,nWidth,nHeight}

xPos:=100;
yPos:=150;
nWidth:=400;

nHeight:=250;

{ Создание главного окна}
MainWnd:=CreateWindowEx (
0, //флаги расширенных стилей
"WinMin : Main", //имя класса окна, данное при заполнении структуры wc
"Win Min", //заголовок окна
ws_overlappedwindow, //флаги стилей окна
{подробнdее о стилях см. после текста программы}
xPos, //горизонтальная позиция окна
yPos, //вертикальная позиция окна

nWidth, //ширина окна
nHeight, //высота окна
0, //описатель родительского окна (parent) или окна-владельца (owner)
0, //описатель меню окна (меню нет, нет и описателя)
Hinstance, //описатель приложения
nil //address of window-creation data
);
ShowWindow(MainWnd,CmdShow); //Отображаем окно

//Цикл обработки сообщений
//он может слегка видоизменяться, но эти строчки присутсвуют всегда

While GetMessage(Mesg,0,0,0) do
begin
TranslateMessage(Mesg);
DispatchMessage(Mesg);
end;
end.

Взято из Rus WinAPI Help - скачай с сайта, пригодится!


 
Обсолютный ноль   (2002-11-08 06:09) [3]

Спасибо!!!


 
Lony   (2002-11-08 11:55) [4]

Lexa1900
А это куда можно вставить, в консоль?


 
Lexa1900   (2002-11-08 13:29) [5]

в View Source..., перед этим удалив Unit1 щёлкнув на Remove from Project...


 
Обсолютный ноль   (2002-11-08 19:18) [6]

Ну и наконец, а где можно достать ХОРОШИЙ Help по WinAPI?
И наконец... как создать Edit и Button через этот самый WinAPI


 
Alex44   (2002-11-08 19:38) [7]

> И наконец... как создать Edit и Button через этот самый WinAPI

Okno classa "EDIT" ili "BUTTON"


 
TankMan   (2002-11-09 00:33) [8]

А потом еще будет вопрос... "ну и самый что ни наесть последний вопрос - а как отлавливать событие по нажатию на эту Button и Edit?" :LOL:


 
Ich Hasse   (2002-11-09 15:50) [9]

wm_system: begin case WParam of begin end; end;


 
Обсолютный ноль   (2002-11-10 06:43) [10]

Так сам HELP где взять?


 
Василий2   (2002-11-10 08:17) [11]

Или WM_COMMAND...


 
Alex44   (2002-11-10 12:30) [12]


> Так сам HELP где взять?


Pochemu-to k help"u, vyzyvaemomu iz delphi, WinAPI ploho prilinkovan. No esli prosto otkrut"
.../Borland Delphi 6/Help/MS SDK Help Files/Win32 SDK Reference,
to tam vse est" i vse prekrasno ishetsya.


 
Qpwoe!   (2002-11-11 19:28) [13]

Насчёт класса EDIT или BUTTON так его вообще в API нету так что можно сделать только создав дополнительную функции прорисовки!


 
Обсолютный ноль   (2002-11-14 05:55) [14]


> .../Borland Delphi 6/Help/MS SDK Help Files/Win32 SDK Reference,
> to tam vse est" i vse prekrasno ishetsya.

Такого вообще нет!

Ну так подскажите где HELP взять?


 
noone_nowhere   (2002-11-14 16:32) [15]

на этом сайте в кладовке


 
Обсолютный ноль   (2002-11-15 07:14) [16]

Уже смотрел... не нашёл:(


 
Обсолютный ноль   (2002-11-15 15:17) [17]

ОПС, нашёл... Уже качается:)


 
Jack128   (2002-11-15 16:10) [18]

2 Qpwoe!
>>Насчёт класса EDIT или BUTTON так его вообще в API нету так >>что можно сделать только создав дополнительную функции >>прорисовки!
как нету - есть!!
GetClassInfo - их параметры
меняешь оконную функцию на свою а старую запоминаешь
в своей WindowProc сначало вызываешь старую оконную функцию
а потом реализуешь необходимые тебе действия




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

Форум: "WinAPI";
Текущий архив: 2002.12.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.013 c
1-99196
Checist [root]
2002-12-19 11:19
2002.12.30
Обращение к DrawGrid


3-98969
slgeo
2002-12-09 11:47
2002.12.30
Не могу изменить данные


1-99043
Balkon
2002-12-19 11:01
2002.12.30
...??????-так выглядит весь текст приложения!


14-99289
h_tray
2002-12-09 16:00
2002.12.30
Stringgrid JurJombo clugeee


14-99281
Alinka
2002-12-09 11:16
2002.12.30
Как поставить несколько версий Delphi сразу





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский