Tlačítka v dialogu jako ikona – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Tlačítka v dialogu jako ikona – C / C++ – Fórum – Programujte.comTlačítka v dialogu jako ikona – C / C++ – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Porcepoque0
Newbie
9. 3. 2013   #1
-
0
-

Dobrý den,

Pokusil jsem se v dialogu nastavit tlačítka OK a Cancel jako zelený a červený čtverec, ale výsledek je toto:

Za čtvercama je zbytek původního tlačítka :-(
Používam WinAPI ve VSc++ 2012. Tlačítka jsem nastavil tímto kódem:

...

switch (message)
{
case WM_INITDIALOG:
	{
		HWND hbok = GetDlgItem(hWnd,IDOK);
		SetWindowLongPtr(hbok,GWL_STYLE,WS_CHILD|WS_VISIBLE|BS_ICON);					
		HICON h = LoadIcon(GetModuleHandle(0),MAKEINTRESOURCE(IDI_OK));
		SendMessage(GetDlgItem(hWnd,IDOK),BM_SETIMAGE,IMAGE_ICON,(LPARAM)h);
				
		hbok = GetDlgItem(hWnd,IDCANCEL);
		SetWindowLongPtr(hbok,GWL_STYLE,WS_CHILD|WS_VISIBLE|BS_ICON);	
		h = LoadIcon(GetModuleHandle(0),MAKEINTRESOURCE(IDI_CANCEL));
		SendMessage(GetDlgItem(hWnd,IDCANCEL),BM_SETIMAGE,IMAGE_ICON,(LPARAM)h);
				
	}break;

...

Díky.

Nahlásit jako SPAM
IP: 88.102.98.–
Reklama
Reklama
Radek Chalupa
~ Redaktor
0
Super člen
9. 3. 2013   #2
-
0
-

#1 Porcepoque
Můžeš tlačítku nastavit styl BS_OWNERDRAW a v obsluze WM_DRAWITEM si vykreslit tlačitko kompletně ve vlastní režii, v tvém připadě jednoduše použiješ DrawIcon/DrawIconEx. I když pro vykreslení jednobarevného obdélníku/čtverce stačí funkce Rectangle, s tím že použiješ vlastní jednobarevný stětec (CreateSolidBrush)

Radek Chalupa
- vývoj software na zakázku
- školení programování (C/C++, WinAPI, ATL, COM, ActiveX, C#, NET Framework, MFC)
http://www.radekchalupa.cz

Nahlásit jako SPAM
IP: 213.220.211.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 169 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý