C++ & C# Programming page
 

 

# Úvod
# Tvůrci
# C++
# C#
# Linky





Ukázkový program Tray Ikona

Tray ikona, neboli oznamovací oblast, patří k oblíbeným "machrovinkám". Mimo toho také usnadňuje práci uživateli s programem. Pokud totiž nemáte zájem mít dole spoustu spuštěných programů, schování do tray je to správné řešení.
Společně s Tray ikonou jsem do programu zahrnul "Oznamivací bublinu", která se mi zdá je až ve Windows XP. Někdy může být dost otravné ji stále "odklikávat", aby zmizela, ale dá se často využít k důležitým zprávám minimalizovaného programu. Jako příklad uvedu situaci, když stahujete z FTP velké objemy dat a něco se najednou pokází. Bublina oznámí chybu, člověk, pokud má zájem, tak si jí všímá a něco ohledně chyby udělá, v opačném případě sama nenásilně zmizí a neruší.
Použití tray by se mohlo zdát náročné, naštěstí to není tak hrozné.
BOOL PridatIkonu()
{
NOTIFYICONDATA nid;
ZeroMemory(&nid, sizeof(NOTIFYICONDATA));
nid.cbSize = sizeof(NOTIFYICONDATA);
nid.hWnd = g_hWnd;
nid.hIcon = (HICON)GetClassLongPtr(g_hWnd, GCLP_HICONSM);
lstrcpyn(nid.szTip, JMENO_APLIKACE, sizeof(nid.szTip));
nid.uID = 1;
nid.uCallbackMessage = WM_NOTIFY_ICON;
nid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;
if ( !Shell_NotifyIcon(NIM_ADD, &nid) )
{
MessageBox(g_hWnd, TEXT("Nelze přidat ikonu"), NULL, MB_ICONERROR | MB_TASKMODAL);
return FALSE;
}
g_AktualniIkona = IKONA_HLAVNI;
return TRUE;
}
To bylo přidání, teď odebrání...
BOOL OdebratIkonu()
{
NOTIFYICONDATA nid;
ZeroMemory(&nid, sizeof(nid));
nid.cbSize = sizeof(NOTIFYICONDATA);
nid.hWnd = g_hWnd;
nid.uID = 1;
nid.uFlags = NIF_ICON;
if ( !Shell_NotifyIcon(NIM_DELETE, &nid) )
{
MessageBox(g_hWnd, TEXT("Nelze odebrat ikonu"), NULL, MB_ICONERROR | MB_TASKMODAL);
return FALSE;
}
g_AktualniIkona = 0;
return TRUE;
}
No ale konec vypisování zdrojáků, nejlepší je, když se na samotný program podíváte a pohrajete si. Mohl bych totiž ještě přidat kód na obsluhu zpráv atd, jenže ten už se dost vztahuje na funkčnost programu.

[ EXE soubor ] - [ Zdrojové kódy ]



Správce sekce: Dejvino



14.2 2005

C++: pridano par odkazu na clanky o OpenGL, IRC, POP3 a BMP
14.8 2004

C++: přidán klient pro Internet Relay Chat (IRC)
11.7 2004

C++: opravil jsem zdrojak WebServeru, byla tam navic jedna funkce kterou jsem nepridal a mnoho zacatecniku by si s tim nemuselo vedet rady...
27.6 2004

Vytvořen IRC kanál #c-prog na serveru Quakenet
10.6 2004

C++: přidán program WebServer, stojí za prohlédnutí!
5.6 2004

C++: přidán článek o CheckBoxu
29.5 2004

C++: přidán program WinSock Mail
28.5 2004

C#: přidán program DNStoIP
Vaše IP je 54.92.170.142
Stránka byla načtena za 0.01199 sekund.