Icon wärend des Programmlaufes erstellen
-
Hi,
ich möchte wärend das Programm läuft ein Icon erstellen. Natürlich möchte ich dann was auf das Icon draufmalen.
Ich hab es so probiert. Funkt aber net. Bin wareinlich auf den Holzweg
hdc = GetDC(hwnd); hdcIcon = CreateCompatibleDC(hdc); MoveToEx(hdcIcon,0,0,NULL); LineTo(hdcIcon,0,15); LineTo(hdcIcon,6,15); LineTo(hdcIcon,6,0); LineTo(hdcIcon,0,0); MoveToEx(hdcIcon,8,0,NULL); LineTo(hdcIcon,8,15); LineTo(hdcIcon,15,15); LineTo(hdcIcon,15,0); LineTo(hdcIcon,8,0); hIcon = (HICON) hdcIcon; ReleaseDC(hwnd,hdc); nidTrayIcon.cbSize = sizeof(nidTrayIcon); nidTrayIcon.hIcon = hIcon; nidTrayIcon.hWnd = hwnd; nidTrayIcon.uFlags = NIF_ICON; nidTrayIcon.uID = 0x0200; Shell_NotifyIcon(NIM_ADD, &nidTrayIcon);
Das Icon wird einfach nicht in der Taskleiste angezeigt
[ Dieser Beitrag wurde am 24.01.2003 um 11:14 Uhr von Der_Knob editiert. ]
-
hIcon = (HICON) hdcIcon;
Bier = (Bier)Wasser;
Nein, so wäre besser:
Bier = WasserInBier( Wasser);
-
hab ich mir schon gedacht
wie mach ich das dann??
-
MSDN:Icon Functions:CreateIcon
-
kann mir das CreatIcon mal jemand erklären??
bzw. die letzten 4 Parameterund wie zeichne ich dann darein?
-
MSDN-Beispiel:
HICON hIcon3; // icon handle // Yang icon AND bitmask BYTE ANDmaskIcon[] = {0xFF, 0xFF, 0xFF, 0xFF, // line 1 0xFF, 0xFF, 0xC3, 0xFF, // line 2 0xFF, 0xFF, 0x00, 0xFF, // line 3 0xFF, 0xFE, 0x00, 0x7F, // line 4 0xFF, 0xFC, 0x00, 0x1F, // line 5 0xFF, 0xF8, 0x00, 0x0F, // line 6 0xFF, 0xF8, 0x00, 0x0F, // line 7 0xFF, 0xF0, 0x00, 0x07, // line 8 0xFF, 0xF0, 0x00, 0x03, // line 9 0xFF, 0xE0, 0x00, 0x03, // line 10 0xFF, 0xE0, 0x00, 0x01, // line 11 0xFF, 0xE0, 0x00, 0x01, // line 12 0xFF, 0xF0, 0x00, 0x01, // line 13 0xFF, 0xF0, 0x00, 0x00, // line 14 0xFF, 0xF8, 0x00, 0x00, // line 15 0xFF, 0xFC, 0x00, 0x00, // line 16 0xFF, 0xFF, 0x00, 0x00, // line 17 0xFF, 0xFF, 0x80, 0x00, // line 18 0xFF, 0xFF, 0xE0, 0x00, // line 19 0xFF, 0xFF, 0xE0, 0x01, // line 20 0xFF, 0xFF, 0xF0, 0x01, // line 21 0xFF, 0xFF, 0xF0, 0x01, // line 22 0xFF, 0xFF, 0xF0, 0x03, // line 23 0xFF, 0xFF, 0xE0, 0x03, // line 24 0xFF, 0xFF, 0xE0, 0x07, // line 25 0xFF, 0xFF, 0xC0, 0x0F, // line 26 0xFF, 0xFF, 0xC0, 0x0F, // line 27 0xFF, 0xFF, 0x80, 0x1F, // line 28 0xFF, 0xFF, 0x00, 0x7F, // line 29 0xFF, 0xFC, 0x00, 0xFF, // line 30 0xFF, 0xF8, 0x03, 0xFF, // line 31 0xFF, 0xFC, 0x3F, 0xFF}; // line 32 // Yang icon XOR bitmask BYTE XORmaskIcon[] = {0x00, 0x00, 0x00, 0x00, // line 1 0x00, 0x00, 0x00, 0x00, // line 2 0x00, 0x00, 0x00, 0x00, // line 3 0x00, 0x00, 0x00, 0x00, // line 4 0x00, 0x00, 0x00, 0x00, // line 5 0x00, 0x00, 0x00, 0x00, // line 6 0x00, 0x00, 0x00, 0x00, // line 7 0x00, 0x00, 0x38, 0x00, // line 8 0x00, 0x00, 0x7C, 0x00, // line 9 0x00, 0x00, 0x7C, 0x00, // line 10 0x00, 0x00, 0x7C, 0x00, // line 11 0x00, 0x00, 0x38, 0x00, // line 12 0x00, 0x00, 0x00, 0x00, // line 13 0x00, 0x00, 0x00, 0x00, // line 14 0x00, 0x00, 0x00, 0x00, // line 15 0x00, 0x00, 0x00, 0x00, // line 16 0x00, 0x00, 0x00, 0x00, // line 17 0x00, 0x00, 0x00, 0x00, // line 18 0x00, 0x00, 0x00, 0x00, // line 19 0x00, 0x00, 0x00, 0x00, // line 20 0x00, 0x00, 0x00, 0x00, // line 21 0x00, 0x00, 0x00, 0x00, // line 22 0x00, 0x00, 0x00, 0x00, // line 23 0x00, 0x00, 0x00, 0x00, // line 24 0x00, 0x00, 0x00, 0x00, // line 25 0x00, 0x00, 0x00, 0x00, // line 26 0x00, 0x00, 0x00, 0x00, // line 27 0x00, 0x00, 0x00, 0x00, // line 28 0x00, 0x00, 0x00, 0x00, // line 29 0x00, 0x00, 0x00, 0x00, // line 30 0x00, 0x00, 0x00, 0x00, // line 31 0x00, 0x00, 0x00, 0x00}; // line 32 hIcon3 = CreateIcon(hinst, // application instance 32, // icon width 32, // icon height 1, // number of XOR planes 1, // number of bits per pixel ANDmaskIcon, // AND bitmask XORmaskIcon); // XOR bitmask
[ Dieser Beitrag wurde am 24.01.2003 um 13:34 Uhr von Nemesyzz editiert. ]
-
Darin kann ich dann aber nicht Zeichnen mit den GDI-Funktion oder?
und das Teil ist s/w oder nicht?
-
Du kannst doch über ein HDC in ein HBITMAP zeichnen. AFAIK kannst du dann das HBITMAP in ein HICON casten (oder zumindest einfacher umwandeln)
Der Vergleich: Bier = (Bier)Wasser; ist unsachgemäß, da ein HDC nicht mit einem HICON verwandt ist wie Wasser und Bier(hmmmm Bitburger Pils
). Bier = (Bier)Fass würde eher zutreffen. Ausserdem ist Bier nicht gleich Bier...
[ Dieser Beitrag wurde am 24.01.2003 um 19:36 Uhr von MaSTaH editiert. ]
-
Oah, das mit dem Bier hat mich ganz durstig gemacht. Werde gleich erstmal einen pötten gehen... PROST zusammen...
-
Original erstellt von Der_Knob:
Darin kann ich dann aber nicht Zeichnen mit den GDI-Funktion oder?
und das Teil ist s/w oder nicht?Dazu muss ich sagen: Das hängt von Number of Bits und den hereingefütterten Bytes ab. In diesem Fall ist es monochrom. Du kannst aber genausogut Farbige erstellen. Funktionen zum malen in diesem Array könntest du dir auch erstellen...
-
Sorry, das ich mich erst jetzt wieder melden
Hört sich kompliziert an...
Aber ich probier mal einwenig rum - Danke
-
ja, und wie caste ich ein HBITMAP in ein HICON??
-
ja, und wie caste ich ein HBITMAP in ein HICON??
Gar nicht -> geht nicht. Du kannst aber aus einem HBITMAP ein HICON erstellen. Wie das geht, findest Du auf www.winapi.net unter Tipps&Tricks. Die so erzeugten Icons müssen aber per DestroyIcon wieder gelöscht werden!
-
danke, für ich mir zu gemühte