Для использования собственной иконки нужно создать файл ресурса:

-->Begin icon.rc <--

  ICON_1 ICON 180.ico
  ICON_SM ICON 163.ico

-->End of icon.rc<--

Затем icon.rc откомпилировать с помощью какого-нибудь компилятора ресурсов(res-файл должен быть 32-bit Windows compatible). Возьмем brcc32.exe:

  brcc32 icon.rc
Получим icon.res - понадобится при линковании.

WNDCLASSEX struct
  clSize           dword    ?
  clStyle          dword    ?
  clLpfnWndProc    dword    ?
  clCbClsExtra     dword    ?
  clCbWndExtra     dword    ?
  clHInstance      dword    ?
  clHIcon          dword    ?
  clHCursor        dword    ?
  clHbrBackground  dword    ?
  clLpszMenuName   dword    ?
  clLpszClassName  dword    ?
  clHIconSm        dword    ?
WNDCLASSEX ends

clHIcon: Содержит дискриптор иконки получаемый после вызова LoadIcon.
clHIconSm: Тоже самое для маленькой иконки, если null то используется hIcon.

--------------------------------------------------
.data
  szIconName       db 'ICON_1', 0
  szIconSmName     db 'ICON_SM', 0
  ...
--------------------------------------------------
.code
  ...
  push    offset szIconName
  push    [hInst]
  call    LoadIconA
  mov     [wc.clHIcon], eax

  push    offset szIconSmName
  push    [hInst]
  call    LoadIconA
  mov     [wc.clHIconSm], eax
  ...
  регистируем класс, создаем окно...
---------------------------------------------------

При линковании нужно указать файл ресурса:

  tlink32 [options] my.obj,my.exe,,,,my.res

Полный текст программы: cr_icon.zip

Hosted by uCoz