Hicon в Hbitmap
Задача в том, что бы добавить в пункт меню иконку полученую при помощи WM_GETICON. Т.е. имеем HICON, а для меню нужно HBITMAP. Может есть другие пути?
Цитата:
Originally posted by pacific_7
Т.е. имеем HICON, а для меню нужно HBITMAP.
Т.е. имеем HICON, а для меню нужно HBITMAP.
А просто нарисовать иконку на канве битмапа?
Цитата:
Originally posted by Freeman
А просто нарисовать иконку на канве битмапа?
А просто нарисовать иконку на канве битмапа?
Можно с помощью DrawIcon прорисовать во временный контекст который и содержит результирующий HBITMAP
Цитата:
Originally posted by vitaly2003s
Можно с помощью DrawIcon прорисовать во временный контекст который и содержит результирующий HBITMAP
Можно с помощью DrawIcon прорисовать во временный контекст который и содержит результирующий HBITMAP
Товарищи - всем спасибо.
Как создать временный контекст? Я что-то ни как не пойму - при помощи CreateDC какая-то бадяга получается. Что там указать в первом параметре - DISPLAY? Ж$%ой чувствую что не то делаю. :) Поэтому нифига и не получается. Можно разжевать для тугоумных?
Буду очень благодарен.
Цитата:
Originally posted by pacific_7
Как выяснилось, я поспешил с выводами - тогда времени небыло этим заняться, а щас взялся и уже третью ночь мучаюсь.
Как создать временный контекст? Я что-то ни как не пойму - при помощи CreateDC какая-то бадяга получается. Что там указать в первом параметре - DISPLAY? Ж$%ой чувствую что не то делаю. :) Поэтому нифига и не получается. Можно разжевать для тугоумных?
Буду очень благодарен.
Как выяснилось, я поспешил с выводами - тогда времени небыло этим заняться, а щас взялся и уже третью ночь мучаюсь.
Как создать временный контекст? Я что-то ни как не пойму - при помощи CreateDC какая-то бадяга получается. Что там указать в первом параметре - DISPLAY? Ж$%ой чувствую что не то делаю. :) Поэтому нифига и не получается. Можно разжевать для тугоумных?
Буду очень благодарен.
Используй примерно следующие:
HDC hd=GetDC(GetDesktopWindow());
HDC hdc=CreateCompatibleDC(hd);
HBITMAP hbm = CreateCompatibleBitmap(hd, 800, 600);
SelectObject(hdc, hbm);
RealeaseDC(hd,GetDesktopWindow());
теперь hdc временный контекст
Цитата:
Originally posted by vitaly2003s
Используй примерно следующие:
HDC hd=GetDC(GetDesktopWindow());
HDC hdc=CreateCompatibleDC(hd);
HBITMAP hbm = CreateCompatibleBitmap(hd, 800, 600);
SelectObject(hdc, hbm);
RealeaseDC(hd,GetDesktopWindow());
теперь hdc временный контекст
Используй примерно следующие:
HDC hd=GetDC(GetDesktopWindow());
HDC hdc=CreateCompatibleDC(hd);
HBITMAP hbm = CreateCompatibleBitmap(hd, 800, 600);
SelectObject(hdc, hbm);
RealeaseDC(hd,GetDesktopWindow());
теперь hdc временный контекст
Благодарствую. Специально с ошибкой :)?
Цитата:
Originally posted by pacific_7
Благодарствую. Специально с ошибкой :)?
Благодарствую. Специально с ошибкой :)?
неа,просто спешил...