Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:

Soutěž

Sponzorem soutěže je:

IDIF – vaše škola fotografie

 

Kdo lektoruje pražský letní workshop v ZOO a Botanické zahradě?

V dnešní soutěži hrajeme o:

Dárkový certifikát v hodnotě 1000 Kč



tab control problem

Seznam témat     Nová odpověď

Přihlásit se     Registrace     Zapomenuté heslo

Re: tab control problem

Autor: PavelMa

13:33:36 08.07.2009

Omlouvám se, trochu jsem se unáhlil, ale dneska už je toho na mě trochu moc (td) . Platí předešlý příspěvek, tedy kousnutí aplikace. S tím EXSTYLE to byl omyl.

Citovat příspěvek

 

Re: tab control problem

Autor: PavelMa

13:22:45 08.07.2009

Problém vyřešen. Místo EXSTYLE jsem měl STYLE.

Citovat příspěvek

 

Re: tab control problem

Autor: PavelMa

13:20:46 08.07.2009

Když nastavím Control na TRUE (DS_CONTROL), tak po stisku tlačítka na dětském dialogu přestane aplikace reagovat :S

Citovat příspěvek

 

Re: tab control problem

Autor: RadekChalupa

12:31:02 08.07.2009

Na tyhle dětské dilogy (vč. těch na záložkách) nastavuji oproti defultnímu nastavení:
Border - none
Style - child
Control - true
a funguje vše bez problémů...

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

Citovat příspěvek

 

Re: tab control problem

Autor: PavelMa

12:09:16 08.07.2009

Tak jsem začal předělávat ten ukázkový projekt. Zprovoznil jsem tab control, načetl knihovnu (funkci jsem ještě nezkoušel, ale snad se podaří).

Ale chci se zeptat k mému druhému problému. Nemůže to mít souvislost s tím, že dětský dialog má v editoru zdrojů nastavenu hodnotu WS_CHILD?? Když dialog nastavím na WS_POPUP, tak se problém nevyskytuje, ale zase se dialog "nechytí" hlavního dialogu (při tažení hlavního dialogu se dětský dlg. nepohybuje s hlavním). Nenapadá někoho něco??
Děkuju za rady.

Citovat příspěvek

 

Re: tab control problem

Autor: PavelMa

23:28:43 03.07.2009

Jo jo myslel jsem na to, ale víkend je dlouhej. Snad se přinutím :)

Citovat příspěvek

 

Re: tab control problem

Autor: AleJdeTo

20:49:31 03.07.2009

PavelMa Napsal:
-------------------------------------------------------
> Tak to bohužel nezabralo. Mám takový blbý tušení,
> že chyba bude někde v nastavení projektu nebo něco
> takovýho. Když totiž přidám přes LoadLibrary
> knihovnu do toho ukázkovýho příkladu, tak to jde
> bez problémů. Takže to budu muset asi dělat celý
> znova :S , ale nevím jak.

No to je jednoduché. Vem si ten ukázkový projekt, se kterým ti to funguje a postupně, kousek po kousku, ho začni předělávat do podoby projektu toho svého programu. Po jednotlivých změnách si vždy vyzkoušej jestli to s tou knihovnou ještě funguje nebo už ne, aby ses mohl případně vrátit o krok zpět ještě k chodivému stavu a změnit to co bude případně způsobovat tu nefunkčnost. Tímhle způsobem postupně předěláš ten ukázkový projekt, se kterým ti to funguje a nakonec z něj budeš mít projekt toho tvého programu a bude Ti to fungovat i v něm.

Citovat příspěvek

 

Re: tab control problem

Autor: PavelMa

19:12:10 03.07.2009

Tak to bohužel nezabralo. Mám takový blbý tušení, že chyba bude někde v nastavení projektu nebo něco takovýho. Když totiž přidám přes LoadLibrary knihovnu do toho ukázkovýho příkladu, tak to jde bez problémů.
Takže to budu muset asi dělat celý znova :S , ale nevím jak.

Citovat příspěvek

 

Re: tab control problem

Autor: AleJdeTo

12:41:15 03.07.2009

Zkus to prohodit tj. nejdřív udělej InitCommonControlsEx a až potom LoadLibrary.

[code]int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
hInst = hInstance;
INITCOMMONCONTROLSEX icc;
icc.dwSize = sizeof(INITCOMMONCONTROLSEX);
icc.dwICC = ICC_WIN95_CLASSES | ICC_USEREX_CLASSES;
if (!InitCommonControlsEx(&icc))
return FALSE;

HMODULE hLib = LoadLibraryA("uxtheme.dll");
if (hLib)
{
pfEnableThemeDialogTexture = (PFETDT)GetProcAddress(hLib,"EnableThemeDialogTexture");
if (!pfEnableThemeDialogTexture) return 0;
} else {
return 0;
}

return DialogBox(hInstance, MAKEINTRESOURCE(DLG_MAIN), NULL, (DLGPROC)DialogProc);
}[/code]

Citovat příspěvek

 

Re: tab control problem

Autor: PavelMa

10:52:41 03.07.2009

Ještě kód :)

[code]
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
HMODULE hLib = LoadLibraryA("uxtheme.dll");
if (hLib)
{
pfEnableThemeDialogTexture = (PFETDT)GetProcAddress(hLib,"EnableThemeDialogTexture");
if (!pfEnableThemeDialogTexture) return 0;
}
else
{
return 0;
}

hInst = hInstance;
INITCOMMONCONTROLSEX icc;
icc.dwSize = sizeof(INITCOMMONCONTROLSEX);
icc.dwICC = ICC_WIN95_CLASSES | ICC_USEREX_CLASSES;
if (!InitCommonControlsEx(&icc))
return FALSE;

return DialogBox(hInstance, MAKEINTRESOURCE(DLG_MAIN), NULL, (DLGPROC)DialogProc);
}
[/code]

Citovat příspěvek

 

Re: tab control problem

Autor: PavelMa

10:29:30 03.07.2009

Tak knihovna se načte, to už jsem si ověřil, ale po spuštění program nemá vzhled WinXP. Nemůže být zakopaný pes :) v té knihovně??

Citovat příspěvek

 

Re: tab control problem

Autor: AleJdeTo

9:16:40 03.07.2009

PavelMa Napsal:
-------------------------------------------------------
> Tak se s tím zkouším poprat, ale narazil jsem na
> první problém. Když přiřadím knihovnu pomocí
> LoadLibrary, tak se aplikace spustí bez manifestu :S
> Manifest přiřazuji pomocí rc souboru.

Chybu musíš mít jinde, protože když se program spouští s manifestem tak se LoadLibrary ještě nevolá. LoadLibrary se zavolá až za běhu a to už je manifest dávno aplikován ;). Takže chybu hledej jinde, LoadLibrary to rozhodně nezpůsobuje.

Citovat příspěvek

 

Re: tab control problem

Autor: PavelMa

6:19:25 03.07.2009

Tak se s tím zkouším poprat, ale narazil jsem na první problém. Když přiřadím knihovnu pomocí LoadLibrary, tak se aplikace spustí bez manifestu :S
Manifest přiřazuji pomocí rc souboru.

Citovat příspěvek

 

Re: tab control problem

Autor: AleJdeTo

23:07:44 02.07.2009

PavelMa Napsal:
-------------------------------------------------------
> Děkuju, funkci jsem na msdn našel, nastudoval, ale
> použít ji nemohu :S . Používám code blocks a
> digital mars a bohužel tento překladač nemá
> knihovnu uxtheme.h :(

To, že používáš digital mars vůbec nic nemění na tom, že tu funkci použít můžeš. Pokud seš trochu chytrej tak si to rozchodíš přes LoadLibrary a GetProcAddress. Popis funkce co ji tady zmínil pan Chalupa najdeš v MSDN http://msdn.microsoft.com/en-us/library/bb773320(VS.85).aspx a deklarace konstant si můžeš vyseparovat třeba z http://owbuilder.malakovi.cz/snapshot/h/nt/uxtheme.h a zbytek už dáš dohromady se znalostí prototypu funkce z toho MSDN. Odkaz na popis jak se to dělá http://forum.builder.cz/read.php?16,3044142,3044222#msg-3044222 a i když je tam odkaz na příklad používající jinou funkci tak pro ponaučení Ti to musí stačit.

Citovat příspěvek

 

Re: tab control problem

Autor: PavelMa

22:29:52 02.07.2009

Děkuju, funkci jsem na msdn našel, nastudoval, ale použít ji nemohu :S . Používám code blocks a digital mars a bohužel tento překladač nemá knihovnu uxtheme.h :(

Citovat příspěvek

 

Re: tab control problem

Autor: RadekChalupa

20:44:37 02.07.2009

Musíš použít funkci EnableThemeDialogTexture, popis viz. dokumentacve Windows SDK/MSDN.

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

Citovat příspěvek

 

tab control problem

Autor: PavelMa

19:59:03 02.07.2009

Dobrý den,
mám dialogovou aplikaci a na ní používám tab control. Podařilo se mi to rozchodit, ale mám pár menších problémů, se kterými si nevím rady. Dialogy jsou vytvořeny v ResEditu.

1.) když mám nastaven vzhled WinXP, tak dětské dialogy mají jinou barvu než pozadí tab controlu (viz obrázek)

2.) tlačítka na dětském dialogu zůstanou zvýrazněna. Když kliknu na jedno tak se zvýrazní, když kliknu na další, zvýrazní se aktivní tlačítko, ale původní tlačítko zůstane zvýrazněno (viz obrázek); na hlavním dialogu tento problém nevzniká :S

3.) nemohu se tabelátorem dostat na tlačítka na dětském dialogu

[img]http://forum.builder.cz/file.php?108,file=587486[/img]

Děkuju za rady a nápady :)

Citovat příspěvek

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: