Назначить значок окну

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Назначить значок окну

Сообщение Сквозняк » 17.10.2017 02:14:40

Есть поток, он создаёт окна, можно ли приделать к ним значок из файла?
Сквозняк
энтузиаст
 
Сообщения: 579
Зарегистрирован: 29.06.2006 22:08:32

Re: Назначить значок окну

Сообщение Снег Север » 17.10.2017 07:54:28

Что значит "окна" - формы? У каждой формы есть свойство icon. Назначать его динамически создаваемым формам удобнее из ресурсов, код легко найти в интернете.
Аватара пользователя
Снег Север
энтузиаст
 
Сообщения: 964
Зарегистрирован: 27.11.2007 16:14:47

Re: Назначить значок окну

Сообщение Сквозняк » 17.10.2017 20:23:50

>Что значит "окна" - формы?

Если бы вопрос был про лазарусные окна, то и задавал бы их в теме про лазарус. Выходит так, что у окна сделанном в лазарусе значок есть, а у окна создаваемом в другом потоке не лазарусом значок а системный, лазарусный на него не перелезает.
Сквозняк
энтузиаст
 
Сообщения: 579
Зарегистрирован: 29.06.2006 22:08:32

Re: Назначить значок окну

Сообщение Cheb » 24.10.2017 00:50:39

Для винды копай в сторону LoadIcon() и ищи начиная оттуда.
Как-то иконка пристёгивается, но надо либо вшивать в екзешник как ресурс, либо такие танцы с бубном, что я не осилил. Я вшиваю через .rc файл, а потом один раз прописываю через LoadIcon() при создании класса окна.
По линуксам - не знаю.

Код: Выделить всё
    ZeroMemory(@wndClass, SizeOf(wndClass));
    with wndClass do begin
      style         :=    CS_OWNDC; 
      lpfnWndProc   := @WndProc;
      hInstance := system.HInstance;
      lpszClassName := PAnsiChar(s);
      hIcon:= LoadIcon(system.HInstance, PAnsiChar('MAINICON'));
    end;
    if (0 = RegisterClass(wndClass)) then Die('RegisterClass() returned 0');     
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 592
Зарегистрирован: 06.06.2005 15:54:34


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: MylnikovDm и гости: 4

Рейтинг@Mail.ru