Как убрать иконку приложения с Таксбара

alekssgor

Well-known member
26.05.2008
118
0
#1
Как убрать иконку приложения чоб окно не исчезло. Функция типа ShowWindow(Application->Handle, SW_HIDE); убирает только в С++ Builder, а на чистом C++ вызов функции ShowWindow(hwnd, SW_HIDE); убирает и окно и иконку????
 

alekssgor

Well-known member
26.05.2008
118
0
#2
Сам догодался.

Фрагмент функции Main

Код:
h_Inst = hThisInstance;
MSG messages;			/* Here messages to the application are saved */
WNDCLASSEX wincl;		/* Data structure for the windowclass */

/* The Window structure */
wincl.hInstance = hThisInstance;
wincl.lpszClassName = szClassName;
wincl.lpfnWndProc = WindowProcedure;	 /* This function is called by windows */
wincl.style = CS_DBLCLKS;				 /* Catch double-clicks */
wincl.cbSize = sizeof (WNDCLASSEX);

/* Use default icon and mouse-pointer */
wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
wincl.lpszMenuName = NULL;				 /* No menu */
wincl.cbClsExtra = 0;					 /* No extra bytes after the window class */
wincl.cbWndExtra = 0;					 /* structure or the window instance */
/* Use Windows's default color as the background of the window */
wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;

/* Register the window class, and if it fails quit the program */
if (!RegisterClassEx (&wincl))
return 0;

/* The class is registered, let's create the program*/
hwnd = CreateWindowEx (
0,				  /* Extended possibilites for variation */
szClassName,		 /* Classname */
"Окно",	  /* Title Text */
WS_OVERLAPPEDWINDOW, /* default window */
350,	  /* Windows decides the position */
250,	  /* where the window ends up on the screen */
224,				 /* The programs width */
78,				 /* and height in pixels */
HWND_DESKTOP,		/* The window is a child-window to desktop */
NULL,				/* No menu */
hThisInstance,	  /* Program Instance handler */
NULL				 /* No Window Creation data */
);

ShowWindow (hwnd,SW_HIDE);
//Создаём новое окно
h = CreateWindowEx(
0 ,
szClassName,
"Проверка",
WS_OVERLAPPEDWINDOW,
350,
250,
224,
78,
hwnd,
NULL,
hThisInstance, 
NULL);

SetWindowPos( h,HWND_TOPMOST ,200,200,200,200,SWP_NOOWNERZORDER );
ShowWindow (h, SW_SHOW);
//Окно появляется иконка нет
 

vital

Больной Компом Детектед
29.01.2006
2 432
33
#3
Сохранить бы это как-нить в кодебейс или еще куда.. для потомков)