Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > ОС и железо
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 02.12.2012, 12:20
Аватар для sariman
sariman sariman вне форума
Активный
 
Регистрация: 19.11.2011
Адрес: Украина, Луганская обл.
Сообщения: 244
Версия Delphi: 7, XE, Lazarus
Репутация: выкл
По умолчанию Создание ListBox WinAPI

Код:
Код:
program JustProgram;

uses
  Windows, Messages;

var
  WC: TWndClassEx;
  Wnd: HWND;
  Msg: TMsg;

const
  WndClass = 'TWindow';
  WndCaption = 'Just Program';

{$R *.res}

function WindowProc(Wnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM):
  LRESULT; stdcall;
begin
  // Обработка сообщений
  case Msg of
    // Сообщение при закрытии формы
    WM_DESTROY:
      begin
        // Запрос на закрытие
        PostQuitMessage(0);
        // Отрицательный результат
        Result := 0;
        // Завершаем процедуру
        Exit
      end;
  else
    // Положительний результат
    Result := DefWindowProc(Wnd, Msg, wParam, lParam)
  end;
end;

begin
  // Производим действия над TWndClassEx
  with WC do
  begin
    cbSize := SizeOf(WC);
    // Перериовывание при изменении размера формы
    style := CS_HREDRAW or CS_VREDRAW;
    // Присваиваем адресс процедуры
    lpfnWndProc := @WindowProc;
    cbClsExtra := 0;
    cbWndExtra := 0;
    hInstance := hInstance;
    // Иконка
    hIcon := LoadIcon(0, IDI_APPLICATION);
    // Курсор
    hCursor := LoadCursor(0, IDC_ARROW);
    // Фон формы
    hbrBackground := COLOR_WINDOW;
    // Указатель на главное меню
    lpszMenuName := nil;
    // Имя класса
    lpszClassName := WndClass;
  end;

  // Регистрируем класс
  RegisterClassEx(WC);
  // Создаем форму с заданными параметрами
  Wnd := CreateWindowEx(0, WndClass, WndCaption, WS_OVERLAPPEDWINDOW, 250, 60,
    300, 100, 0, 0, hInstance, nil);
  // Отображаем форму
  ShowWindow(Wnd, SW_SHOWNORMAL);

  ListBox := CreateWindowEx(WS_EX_CLIENTEDGE, 'ListBox', '',
    WS_CHILD or WS_VISIBLE or LBS_EXTENDEDSEL, 120, 40, 121, 97, WND, 0,
      hInst, nil);
  SendMessage(ListBox, WM_SETFONT, hFont, 0);

  // Обработка сообщений
  while GetMessage(Msg, 0, 0, 0) do
  begin
    // Транслирование сообщений
    TranslateMessage(Msg);
    // Посылаем сообщения оконной процедуре
    DispatchMessage(Msg);
  end;

  // Завершение приложения
  Halt(Msg.wParam);
end.
Но ругается на ListBox, подскажите как его объявить?..
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:10.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter