Získání handle balloonu zobrazeného NotifyIfcon   zodpovězená otázka

VB.NET, Architektura, Grafika

Zdravím,

potřeboval bych zjistit souřadnice a rozměry balloonu zobrazeného NotifyIcon-ou. První řešení, které mě napadlo, bylo zjistit, kde se nachází ikona NotifyIconu (na Internetu jsem kdysi našel jak na to), spočítat offset horního rohu balloonu a ikony a pomocí MeasureString dopočítat jaké asi má balloon rozměry. To je ovšem dost empirické řešení, a proto bych tato data radši získal pomocí API funkcí. K tomu ale potřebuji získat handle toho balloonu. A moje otázka tedy zní - jak ji získat?

Děkuji

nahlásit spamnahlásit spam 0 odpovědětodpovědět

K čemu to potřebujete?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Mám v plánu překrýt jeho obsah jiným oknem. Já vím, existují tuny řešení třetích stran, které by mi umožnily nahradit balloon alternativou podporující např. formátování nebo grafiku, ale já chci použít balloon kvůli konzistenci UI s operačním systémem.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tak to je skutečně prasárna a zrůdnost největšího kalibru. Pevně sem doufal že nechcete udělat něco takového... Balón se dá modifikovat k obrazu svému i bez použití komponent třetích stran a tak aby zachoval systémový vzhled (a myslím že by to dalo méně práce než zjišťovat jeho pozici a překreslovat ho něčím svým). Na webu se dají najít desítky řešení, viz. např. CodeProject.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Víte, že jsem si říkal to samé, když mě to napadlo? Vždycky jsem si ale myslel, že balloon umí jen to, co nabízí komponenta NotifyIcon (potažmo ToolTip, ten mě ale nezajímá)... Na CodeProjectu jsem hledal jako první, ale nenašel jsem nic uspokojivého. Nejideálnější by bylo, kdyby balloon uměl hostovat nějakou komponentu (koneckonců, je to okno jako každé jiné, ne?). Mohl byste mi ukázat jak balloon modifikovat, nebo mě nasměrovat na příslušné zdroje, prosím?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Třeba toto http://www.codeproject.com/KB/dialog/bal... je podle mého asi nejvěrnější napodobenina baloonu. Ovšem ten stín má s tím z Windows společnou maximálně barvu. Tlačítko pro skrytí nesprávně renderuje stav 'stlačeno'. Nedetekuje verzi systému pro nasazení správného skinu, zkrátka je to prostě napodobenina. Já bych rád čistokrevný systémový balloon.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Pokud máte rád čistokrevný systémový balón, tak nevím proč máte potřebu ho modifikovat a tím narušovat jeho standardní vzhled na různých systémech.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Nejde o žádný drastický zásah, jen mírně formátovaný text a případně obrázek, nebo url. Problém ale je, že ToolTip s IsBalloon pozitvním nevyvolává událost OnDraw, nepodporuje OwnderDraw.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback