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

Вниз

WinAPI   Найти похожие ветки 

 
IL2   (2002-12-10 22:12) [0]

Где найти ынфу как делать окна, кнопки ы т.д. на Delphi з используванием WinAPI?


 
Cobalt   (2002-12-10 23:22) [1]

См. в главном меню
Borland Delphi 4\Help\MS SDK Help Files\Win32 Programmer"s Reference.lnk
Там КУЧА информации. Открывай вкладку "Contents" - там все рассортировано по темам. Окна, меню, кнопки, комбобоксы и все такое прочее.


 
Юрий Зотов   (2002-12-11 00:02) [2]

А это для примера. Разберитесь досконально с каждым словом в нем... иначе придется забыть про сабж.

program HelloWorld;

uses
Windows,
Messages;

// Оконная функция - обрабатывает все поступающие окну сообщения.
function WndFunc(Wnd, Msg: DWord; wParam, lParam: integer): integer; stdcall;
var
DC: HDC;
PaintStruct: TPaintStruct;
Rect: TRect;
begin
case Msg of
WM_Paint:
begin // Если поступило сообщение WM_Paint,
DC := BeginPaint(Wnd, PaintStruct); // то подготовить отрисовку,
GetClientRect(Wnd, Rect); // получить клиентскую область и в ее центре отрисовать текст,
DrawText(DC, "Hello, World!", -1, Rect, DT_SINGLELINE or DT_CENTER or DT_VCENTER);
EndPaint(Wnd, PaintStruct); // затем сообщить системе, что рисование завершено
Result := 0 // и что сообщение WM_Paint обработано.
end;
WM_Destroy:
begin // Если поступило сообщение WM_Destroy,
PostQuitMessage(0); // то послать в очередь потока сообщение WM_Quit
Result := 0 // и сообщить системе, что WM_Destroy обработано.
end
else Result := DefWindowProc(Wnd, Msg, wParam, lParam) // Для других сообщений вызвать стандартную оконную функцию.
end
end { of WndFunc };

const
AppName = "Project1";

var
Msg: TMsg;
WndClass: TWndClassEx;

begin { main }

// Заполняем запись WndClass и регистрируем в системе класс окна
with WndClass do
begin
cbSize := SizeOf(WndClass);
Style := CS_HRedraw or CS_VRedraw;
lpfnWndProc := @WndFunc;
hIcon := LoadIcon(0, IDI_Application);
hCursor := LoadCursor(0, IDC_Arrow);
hbrBackground := hBrush(Color_Window);
lpszMenuName := Nil;
lpszClassName := AppName;
hIconSm := hIcon
end;
WndClass.hInstance := hInstance;
RegisterClassEx(WndClass);

// Создаем и показываем окно заданного класса
CreateWindowEx(0, AppName, AppName, WS_OverlappedWindow or WS_Visible,
CW_UseDefault, CW_UseDefault, CW_UseDefault, CW_UseDefault, 0, 0, hInstance, Nil);

// Цикл обработки сообщений (работает, пока не поступит сообщение WM_Quit).
while GetMessage(Msg, 0, 0, 0) do // Выбрать сообщение из очереди потока
begin // и, если это сообщение не WM_Quit, то
TranslateMessage(Msg); // преобразовать сообщение клавиатуры
DispatchMessage(Msg) // и вызвать функцию окна Msg.hWnd
end;

// Передаем системе код завершения программы
Halt(Msg.wParam)
end.


 
zavdim   (2002-12-11 06:34) [3]

А потом можно почитать Петзольда(тут было где-то Петцольда).
Там примеры на Си, но хорошо укладываются в приведенную выше схему.
Некоторые моменты для Delphi можно взять из книги М.Краснова "OpenGL. Графика в проектах Delphi"



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

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

Наверх





Память: 0.45 MB
Время: 0.011 c
4-99414
Vasily Terekhov
2002-11-13 10:19
2002.12.30
Перехват сворачивания и восстановления окон


14-99301
Arkan
2002-12-09 23:02
2002.12.30
Про форум!


4-99400
dwax
2002-11-14 13:12
2002.12.30
иконки


14-99245
Wolflab
2002-12-09 08:00
2002.12.30
Нужны ссылки (рускоязычные) на материалы по ADO в Delphi


4-99393
Котелок
2002-11-14 05:10
2002.12.30
Как можно перехватить OnTimer чужого приложения?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский