WinAPI změna velikosti dětského okna pouze v jednom směru – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

WinAPI změna velikosti dětského okna pouze v jednom směru – C / C++ – Fórum – Programujte.comWinAPI změna velikosti dětského okna pouze v jednom směru – C / C++ – Fórum – Programujte.com

 

yaqwsx+9
Posthunter
18. 11. 2010   #1
-
0
-

Mám okno a v něm chci mít TreeView, kterému může uřivatel měnit šířku. Nevím ale jak dovolit uživateli pouze změnu šířky, nikoliv i výšky. Oknu TreeView jsem přidal vlastnost WS_THICKFRAME, poté jsme zkoušel odchytávat zprávy o změně velikosti. Stále se ale uživateli mění kurzor u libovolné strany, stále jde díky změně šířky ze dvou směrů oknem posunovat... Prostě bych potřeboval přidat vlastnost WS_THICKFRAME pouze levému okraji okna.
Zkoušel jsme hledat na MSDN, ale k ničemu vhodnému jsem nedošel.

Nenasměrovali byste mě?

Nahlásit jako SPAM
IP: 85.160.97.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
liborb
~ Redaktor
+18
Guru
18. 11. 2010   #2
-
0
-

A to máš to TreeView něco jako ve stylu MDI nebo jak to máš? To jsem nepobral :)

Jinak jde mnohé. Přes WM_SETCURSOR lze potlačit nechtěné šipky. Přes zprávy typu WM_GETMINMAXINFO a WM_WINDOWPOSCHANGING lze ovlivnit možnost pohybu. Ovšem všechno záleží na tom, jak to máš, třeba to jde ještě snadněji :)

Nahlásit jako SPAM
IP: 195.189.142.–
yaqwsx+9
Posthunter
18. 11. 2010   #3
-
0
-

Píšu v čistém API, používám TreeView z Control Library.
Metoda zachytávání zpráv se mi moc nelíbí - proto jsme ji dál nerozvíjel; mířím směrem "přece se jedná o celkem běžný problém", tak hledám nějaké jednodušší řešení. Pouze potřebuji mít TreeView, který je ukotvený vlevo v rodičovském okně, uživatel může ovlivňovat jeho šířku.

Nahlásit jako SPAM
IP: 85.160.97.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
zdenda
~ Anonymní uživatel
257 příspěvků
19. 11. 2010   #4
-
0
-

TreeView to sám neumí. Nejjednodušší řešení je upravit jeho chování, jak píše Libor.

Nahlásit jako SPAM
IP: 213.211.51.–
liborb
~ Redaktor
+18
Guru
19. 11. 2010   #5
-
0
-
Nahlásit jako SPAM
IP: 78.80.52.–
yaqwsx+9
Posthunter
20. 11. 2010   #6
-
0
-

To liborb : Díky, už to mám, nasměroval jsi mě správným směrem - stále jsme přemýšlel nad vlastnostmi oken, ale udělat wrapper pro 2 okna mě nenapadlo. Stále neumím myslet ve WinAPI

Nahlásit jako SPAM
IP: 85.160.106.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
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, 85 hostů

Moderátoři diskuze

 

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