Page 1 of 1

visual style

Posted: 12 Dec 2012, 13:12
by nmg
Am un proiect facut in VC++ 2003 pe care vreau sa-l trec in VC 2005. Conversia a decurs fara probleme, mai putin stilul vizual, care a ramas tot cel vechi.
M-am incurcat de tot in partea cu manifest file ...

Ma poate indruma cineva ?

Re: visual style

Posted: 12 Dec 2012, 16:11
by Marius Bancila
Pai zi-ne ce ai facut.

Banuiesc ca ai nevoie de "common control styles", asa ca uite aici cum se face: http://msdn.microsoft.com/en-us/library ... 73175.aspx.

Re: visual style

Posted: 12 Dec 2012, 16:44
by nmg
N-am facut mare lucru, doar am deschis solutia de VC 2003 cu VC 2005, in rest am urmat indicatiile Wizzard-ului. A trebuit sa inlocuiesc unele functii cu varianta safe sau UNICODE, sau sa rezolv ceva warning-uri nesemnalate de VS 2003 dar n-am avut mari probleme la compilare.

Iar cu stylurile vizuale, m-am lamurit, odata cu link-ul de mai sus, si pe urma comparand proiectul meu cu unul generat de VS 2005.

Erau identice. mai putin cateva linii de cod in stdafx.h:

Code: Select all

#ifdef _UNICODE
#if defined _M_IX86
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_IA64
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_X64
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#else
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
#endif
#endif
Acum am dat de alta belea: noul stil nu prea se potriveste cu controale mele owner draw: e mai mare rasul sa vezi cum se potrivesc butoanele mele cu iconite ca nuca-n perete cu stilul XP ...

Trebuie sa ma gandesc daca intr-adevar merita sau nu.

Re: visual style

Posted: 12 Dec 2012, 18:54
by Ovidiu Cucu
nmg wrote: Acum am dat de alta belea: noul stil nu prea se potriveste cu controale mele owner draw: e mai mare rasul sa vezi cum se potrivesc butoanele mele cu iconite ca nuca-n perete cu stilul XP ...
Asta da, belea! :D
De cand ma stiu programand UI, am intalnit tendinta unora de a face cu mana lor ceva mai fancy decat ce exista "standard", in Windows.
Incepand cu prima firma in care am lucrat, in care s-au chinuit bajetii sa faca "controale 3D". Numai bine ce-au terminat, c-au si aparut controalele 3D de la mama lor, care parca aratau si mai bine. Concuzie: munca in zadar. :)

In fine, sa trecem peste alte mode, tendinte si munci de pomana si sa ajungem in prezent, la controalele tale owner draw, cu iconite care stau "ca nuca-n perete".
Ca sa le faci sa arate ca in temele din XP si mai noi, nu merge cu functiile GDI clasice, ci cu cele specifice pentru Visual Styles.
Vezi in MSDN/Windows Dev Center: Using Visual Styles with Custom and Owner-Drawn Controls.
E un pic de transpirat insa nu-i un capat de lume... ;)
Bineiteles, pastrezi ce deja e implementat pentru sistemele care nu suporta Visual Styles cat si pentru tema "Windows Classic".