PropertyView.cpp 121 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444
  1. // PropertyView.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "SkinBuilder.h"
  5. #include "PropertyView.h"
  6. #include ".\propertyview.h"
  7. #include "SPPropertyGridItemImage.h"
  8. // CPropertyView
  9. IMPLEMENT_DYNCREATE( CPropertyView , CView )
  10. CPropertyView::CPropertyView()
  11. {
  12. }
  13. CPropertyView::~CPropertyView()
  14. {
  15. }
  16. BEGIN_MESSAGE_MAP(CPropertyView, CView)
  17. ON_WM_CREATE()
  18. ON_WM_SIZE()
  19. ON_MESSAGE(SPWM_PROPERTYGRID_NOTIFY, OnGridNotify)
  20. END_MESSAGE_MAP()
  21. void CPropertyView::CreatePropertyApplication( ApplicationSkin * pAllicationSkin )
  22. {
  23. m_wndPropertyApplication.Create( CRect( 0,0,0,0 ),this,IDC_PROPERTY_APPLICATION );
  24. CSPPropertyGridItem * pCategoryApplication = m_wndPropertyApplication.AddCategory( _T( "Application" ) );
  25. pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_APPLICATION,NULL ) );
  26. pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_APP_AUTHOR,NULL ) );
  27. pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_APP_DESCRIPTION,NULL ) );
  28. pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_APP_EMAIL,NULL ) );
  29. pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_APP_HOMEPAGE,NULL ) );
  30. pCategoryApplication->AddChildItem( new CSPPropertyGridItemBool( IDS_STRING_APP_USETRANS,NULL ) );
  31. pCategoryApplication->AddChildItem( new CSPPropertyGridItemColor( IDS_STRING_APP_TRANSCOLOR,NULL ) );
  32. pCategoryApplication->Expand();
  33. }
  34. void CPropertyView::SetApplication( ApplicationSkin * pApp )
  35. {
  36. CSPPropertyGridItem * pItem = NULL;
  37. pItem = m_wndPropertyApplication.FindItem( IDS_STRING_APPLICATION );
  38. if ( pItem )
  39. {
  40. pItem->SetValue( pApp->strApplication );
  41. }
  42. pItem = m_wndPropertyApplication.FindItem( IDS_STRING_APP_AUTHOR );
  43. if ( pItem )
  44. {
  45. pItem->SetValue( pApp->strAuthor );
  46. }
  47. pItem = m_wndPropertyApplication.FindItem( IDS_STRING_APP_DESCRIPTION );
  48. if ( pItem )
  49. {
  50. pItem->SetValue( pApp->strDescription );
  51. }
  52. pItem = m_wndPropertyApplication.FindItem( IDS_STRING_APP_EMAIL );
  53. if ( pItem )
  54. {
  55. pItem->SetValue( pApp->strEmail );
  56. }
  57. pItem = m_wndPropertyApplication.FindItem( IDS_STRING_APP_HOMEPAGE );
  58. if ( pItem )
  59. {
  60. pItem->SetValue( pApp->strHomepage );
  61. }
  62. pItem = m_wndPropertyApplication.FindItem( IDS_STRING_APP_USETRANS );
  63. ( ( CSPPropertyGridItemBool * ) pItem )->SetBool( pApp->bUseTrans );
  64. pItem = m_wndPropertyApplication.FindItem( IDS_STRING_APP_TRANSCOLOR );
  65. ( ( CSPPropertyGridItemColor * ) pItem )->SetColor( pApp->colorTransparent );
  66. }
  67. void CPropertyView::CreatePropertyButton()
  68. {
  69. m_wndPropertyButton.Create( CRect( 0,0,0,0 ),this,IDC_PROPERTY_BUTTONSKIN );
  70. CSPPropertyGridItem * pCategoryApplication = m_wndPropertyButton.AddCategory( _T( "Button" ) );
  71. pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_BUTTON_NAME,NULL ) );
  72. pCategoryApplication->AddChildItem( new CSPPropertyGridItemNumber( IDS_STRING_BUTTON_ID,NULL ) );
  73. NONCLIENTMETRICS nif;
  74. nif.cbSize = sizeof( nif );
  75. SystemParametersInfo( SPI_GETNONCLIENTMETRICS,sizeof( NONCLIENTMETRICS ),&nif,0 );
  76. LOGFONT font = nif.lfCaptionFont;
  77. pCategoryApplication->AddChildItem( new CSPPropertyGridItemFont( IDS_STRING_BUTTON_FONT,font ) );
  78. pCategoryApplication->AddChildItem( new CSPPropertyGridItemBool( IDS_STRING_BUTTON_AUTOFONT,NULL ) );
  79. CSPPropertyGridItem * pCategoryNormal;
  80. pCategoryNormal = pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_BUTTON_NORMAL,NULL ) );
  81. pCategoryNormal->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_BUTTON_NORMAL_IMAGE ) );
  82. pCategoryNormal->Expand();
  83. CSPPropertyGridItem * pCategoryHighlighted;
  84. pCategoryHighlighted = pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_BUTTON_HIGHTLIGHTED,NULL ) );
  85. pCategoryHighlighted->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_BUTTON_HIGHTLIGHTED_IMAGE ) );
  86. pCategoryHighlighted->Expand();
  87. CSPPropertyGridItem * pCategoryPressed;
  88. pCategoryPressed = pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_BUTTON_PRESSED,NULL ) );
  89. pCategoryPressed->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_BUTTON_PRESSED_IMAGE ) );
  90. pCategoryPressed->Expand();
  91. CSPPropertyGridItem * pCategoryFocused;
  92. pCategoryFocused = pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_BUTTON_FOCUSED,NULL ) );
  93. pCategoryFocused->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_BUTTON_FOCUSED_IMAGE ) );
  94. pCategoryFocused->Expand();
  95. CSPPropertyGridItem * pCategoryDefault;
  96. pCategoryDefault = pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_BUTTON_DEFAULT,NULL ) );
  97. pCategoryDefault->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_BUTTON_DEFAULT_IMAGE ) );
  98. pCategoryDefault->Expand();
  99. CSPPropertyGridItem * pCategoryDisabled;
  100. pCategoryDisabled = pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_BUTTON_DISABLED,NULL ) );
  101. pCategoryDisabled->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_BUTTON_DISABLED_IMAGE ) );
  102. pCategoryDisabled->Expand();
  103. pCategoryApplication->Expand();
  104. }
  105. void CPropertyView::SetButtonSkin( CButtonSkin * pButtonSkin )
  106. {
  107. CSPPropertyGridItem * pItem = NULL;
  108. CSPPropertyGridItemNumber * pNumber = NULL;
  109. CSPPropertyGridItemImage * pImage = NULL;
  110. CSPPropertyGridItemText * pText = NULL;
  111. CSPPropertyGridItemFont * pFont = NULL;
  112. CSPPropertyGridItemBool * pBool = NULL;
  113. pItem = ( CSPPropertyGridItem * ) m_wndPropertyButton.FindItem( IDS_STRING_BUTTON_NAME );
  114. pItem->SetValue( pButtonSkin->m_strName );
  115. pNumber = ( CSPPropertyGridItemNumber * ) m_wndPropertyButton.FindItem( IDS_STRING_BUTTON_ID );
  116. pNumber->SetNumber( pButtonSkin->m_nCtlID );
  117. pFont = ( CSPPropertyGridItemFont * ) m_wndPropertyButton.FindItem( IDS_STRING_BUTTON_FONT );
  118. pFont->SetFont( pButtonSkin->m_fontButton );
  119. pBool = ( CSPPropertyGridItemBool * ) m_wndPropertyButton.FindItem( IDS_STRING_BUTTON_AUTOFONT );
  120. pBool->SetBool( pButtonSkin->m_bAutoFont );
  121. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyButton.FindItem( IDS_STRING_BUTTON_NORMAL_IMAGE );
  122. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pButtonSkin->m_stateButton[keNormal].imageSkin );
  123. pImage->SetValue( pButtonSkin->m_stateButton[keNormal].imageSkin.strImageName );
  124. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  125. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyButton.FindItem( IDS_STRING_BUTTON_FOCUSED_IMAGE );
  126. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pButtonSkin->m_stateButton[keFocused].imageSkin );
  127. pImage->SetValue( pButtonSkin->m_stateButton[keFocused].imageSkin.strImageName );
  128. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  129. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyButton.FindItem( IDS_STRING_BUTTON_DEFAULT_IMAGE );
  130. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pButtonSkin->m_stateButton[keDefault].imageSkin );
  131. pImage->SetValue( pButtonSkin->m_stateButton[keDefault].imageSkin.strImageName );
  132. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  133. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyButton.FindItem( IDS_STRING_BUTTON_PRESSED_IMAGE );
  134. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pButtonSkin->m_stateButton[kePressed].imageSkin );
  135. pImage->SetValue( pButtonSkin->m_stateButton[kePressed].imageSkin.strImageName );
  136. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  137. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyButton.FindItem( IDS_STRING_BUTTON_HIGHTLIGHTED_IMAGE );
  138. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pButtonSkin->m_stateButton[keHighlighted].imageSkin );
  139. pImage->SetValue( pButtonSkin->m_stateButton[keHighlighted].imageSkin.strImageName );
  140. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  141. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyButton.FindItem( IDS_STRING_BUTTON_DISABLED_IMAGE );
  142. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pButtonSkin->m_stateButton[keDisabled].imageSkin );
  143. pImage->SetValue( pButtonSkin->m_stateButton[keDisabled].imageSkin.strImageName );
  144. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  145. }
  146. void CPropertyView::CreatePropertyRadio()
  147. {
  148. m_wndPropertyRadio.Create( CRect( 0,0,0,0 ),this,IDC_PROPERTY_RADIOSKIN );
  149. CSPPropertyGridItem * pCategoryApplication = m_wndPropertyRadio.AddCategory( _T( "Radio" ) );
  150. pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_RADIO_NAME,NULL ) );
  151. pCategoryApplication->AddChildItem( new CSPPropertyGridItemNumber( IDS_STRING_RADIO_ID,NULL ) );
  152. NONCLIENTMETRICS nif;
  153. nif.cbSize = sizeof( nif );
  154. SystemParametersInfo( SPI_GETNONCLIENTMETRICS,sizeof( NONCLIENTMETRICS ),&nif,0 );
  155. LOGFONT font = nif.lfCaptionFont;
  156. pCategoryApplication->AddChildItem( new CSPPropertyGridItemFont( IDS_STRING_RADIO_FONT,font ) );
  157. pCategoryApplication->AddChildItem( new CSPPropertyGridItemBool( IDS_STRING_RADIO_AUTOFONT,NULL ) );
  158. CSPPropertyGridItem * pCategoryNormal;
  159. pCategoryNormal = pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_RADIO_NORMAL,NULL ) );
  160. pCategoryNormal->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_RADIO_NORMAL1 ) );
  161. pCategoryNormal->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_RADIO_NORMAL2 ) );
  162. pCategoryNormal->AddChildItem( new CSPPropertyGridItemText( IDS_STRING_RADIO_NORMAL3 ) );
  163. pCategoryNormal->Expand();
  164. CSPPropertyGridItem * pCategoryHover;
  165. pCategoryHover = pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_RADIO_HOVER,NULL ) );
  166. pCategoryHover->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_RADIO_HOVER1 ) );
  167. pCategoryHover->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_RADIO_HOVER2 ) );
  168. pCategoryHover->AddChildItem( new CSPPropertyGridItemText( IDS_STRING_RADIO_HOVER3 ) );
  169. pCategoryHover->Expand();
  170. CSPPropertyGridItem * pCategoryFocused;
  171. pCategoryFocused = pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_RADIO_FOCUSED,NULL ) );
  172. pCategoryFocused->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_RADIO_FOCUSED1 ) );
  173. pCategoryFocused->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_RADIO_FOCUSED2 ) );
  174. pCategoryFocused->AddChildItem( new CSPPropertyGridItemText( IDS_STRING_RADIO_FOCUSED3 ) );
  175. pCategoryFocused->Expand();
  176. CSPPropertyGridItem * pCategoryPressed;
  177. pCategoryPressed = pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_RADIO_PRESSED,NULL ) );
  178. pCategoryPressed->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_RADIO_PRESSED1 ) );
  179. pCategoryPressed->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_RADIO_PRESSED2 ) );
  180. pCategoryPressed->AddChildItem( new CSPPropertyGridItemText( IDS_STRING_RADIO_PRESSED3 ) );
  181. pCategoryPressed->Expand();
  182. CSPPropertyGridItem * pCategoryDisabled;
  183. pCategoryDisabled = pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_RADIO_DISABLED,NULL ) );
  184. pCategoryDisabled->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_RADIO_DISABLED1 ) );
  185. pCategoryDisabled->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_RADIO_DISABLED2 ) );
  186. pCategoryDisabled->AddChildItem( new CSPPropertyGridItemText( IDS_STRING_RADIO_DISABLED3 ) );
  187. pCategoryDisabled->Expand();
  188. pCategoryApplication->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_RADIO_IMAGEBACK ) );
  189. pCategoryApplication->AddChildItem( new CSPPropertyGridItemColor( IDS_STRING_RADIO_COLORBACK ) );
  190. pCategoryApplication->Expand();
  191. }
  192. void CPropertyView::SetRadioSkin( CRadioSkin * pRadioSkin )
  193. {
  194. CSPPropertyGridItem * pItem = NULL;
  195. CSPPropertyGridItemNumber * pNumber = NULL;
  196. CSPPropertyGridItemImage * pImage = NULL;
  197. CSPPropertyGridItemText * pText = NULL;
  198. CSPPropertyGridItemFont * pFont = NULL;
  199. CSPPropertyGridItemBool * pBool = NULL;
  200. CSPPropertyGridItemColor * pColor = NULL;
  201. pItem = ( CSPPropertyGridItem * ) m_wndPropertyRadio.FindItem( IDS_STRING_RADIO_NAME );
  202. pItem->SetValue( pRadioSkin->m_strName );
  203. pNumber = ( CSPPropertyGridItemNumber * ) m_wndPropertyRadio.FindItem( IDS_STRING_RADIO_ID );
  204. pNumber->SetNumber( pRadioSkin->m_nCtlID );
  205. pFont = ( CSPPropertyGridItemFont * ) m_wndPropertyRadio.FindItem( IDS_STRING_RADIO_FONT );
  206. pFont->SetFont( pRadioSkin->m_fontRadio );
  207. pBool = ( CSPPropertyGridItemBool * ) m_wndPropertyRadio.FindItem( IDS_STRING_RADIO_AUTOFONT );
  208. pBool->SetBool( pRadioSkin->m_bAutoFont );
  209. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyRadio.FindItem( IDS_STRING_RADIO_NORMAL1 );
  210. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pRadioSkin->m_stateRadio[keRadioNormal].imageChecked );
  211. pImage->SetValue( pRadioSkin->m_stateRadio[keRadioNormal].imageChecked.strImageName );
  212. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  213. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyRadio.FindItem( IDS_STRING_RADIO_NORMAL2 );
  214. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pRadioSkin->m_stateRadio[keRadioNormal].imageUnchecked );
  215. pImage->SetValue( pRadioSkin->m_stateRadio[keRadioNormal].imageUnchecked.strImageName );
  216. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  217. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyRadio.FindItem( IDS_STRING_RADIO_HOVER1 );
  218. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pRadioSkin->m_stateRadio[keRadioHover].imageChecked );
  219. pImage->SetValue( pRadioSkin->m_stateRadio[keRadioHover].imageChecked.strImageName );
  220. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  221. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyRadio.FindItem( IDS_STRING_RADIO_HOVER2 );
  222. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pRadioSkin->m_stateRadio[keRadioHover].imageUnchecked );
  223. pImage->SetValue( pRadioSkin->m_stateRadio[keRadioHover].imageUnchecked.strImageName );
  224. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  225. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyRadio.FindItem( IDS_STRING_RADIO_PRESSED1 );
  226. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pRadioSkin->m_stateRadio[keRadioPressed].imageChecked );
  227. pImage->SetValue( pRadioSkin->m_stateRadio[keRadioPressed].imageChecked.strImageName );
  228. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  229. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyRadio.FindItem( IDS_STRING_RADIO_PRESSED2 );
  230. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pRadioSkin->m_stateRadio[keRadioPressed].imageUnchecked );
  231. pImage->SetValue( pRadioSkin->m_stateRadio[keRadioPressed].imageUnchecked.strImageName );
  232. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  233. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyRadio.FindItem( IDS_STRING_RADIO_FOCUSED1 );
  234. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pRadioSkin->m_stateRadio[keRadioFocused].imageChecked );
  235. pImage->SetValue( pRadioSkin->m_stateRadio[keRadioFocused].imageChecked.strImageName );
  236. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  237. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyRadio.FindItem( IDS_STRING_RADIO_FOCUSED2 );
  238. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pRadioSkin->m_stateRadio[keRadioFocused].imageUnchecked );
  239. pImage->SetValue( pRadioSkin->m_stateRadio[keRadioFocused].imageUnchecked.strImageName );
  240. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  241. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyRadio.FindItem( IDS_STRING_RADIO_DISABLED1 );
  242. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pRadioSkin->m_stateRadio[keRadioDisabled].imageChecked );
  243. pImage->SetValue( pRadioSkin->m_stateRadio[keRadioDisabled].imageChecked.strImageName );
  244. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  245. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyRadio.FindItem( IDS_STRING_RADIO_DISABLED2 );
  246. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pRadioSkin->m_stateRadio[keRadioDisabled].imageUnchecked );
  247. pImage->SetValue( pRadioSkin->m_stateRadio[keRadioDisabled].imageUnchecked.strImageName );
  248. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  249. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyRadio.FindItem( IDS_STRING_RADIO_IMAGEBACK );
  250. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pRadioSkin->m_imageBackground );
  251. pImage->SetValue( pRadioSkin->m_imageBackground.strImageName );
  252. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  253. pColor = ( CSPPropertyGridItemColor * ) m_wndPropertyRadio.FindItem( IDS_STRING_RADIO_COLORBACK );
  254. pColor->SetColor( pRadioSkin->m_colorBackground );
  255. }
  256. void CPropertyView::CreatePropertyCheckBox()
  257. {
  258. m_wndPropertyCheckBox.Create( CRect( 0,0,0,0 ),this,IDC_PROPERTY_CHECKBOXSKIN );
  259. CSPPropertyGridItem * pCategoryApplication = m_wndPropertyCheckBox.AddCategory( _T( "CheckBox" ) );
  260. pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_CHECKBOX_NAME,NULL ) );
  261. pCategoryApplication->AddChildItem( new CSPPropertyGridItemNumber( IDS_STRING_CHECKBOX_ID,NULL ) );
  262. NONCLIENTMETRICS nif;
  263. nif.cbSize = sizeof( nif );
  264. SystemParametersInfo( SPI_GETNONCLIENTMETRICS,sizeof( NONCLIENTMETRICS ),&nif,0 );
  265. LOGFONT font = nif.lfCaptionFont;
  266. pCategoryApplication->AddChildItem( new CSPPropertyGridItemFont( IDS_STRING_CHECKBOX_FONT,font ) );
  267. pCategoryApplication->AddChildItem( new CSPPropertyGridItemBool( IDS_STRING_CHECKBOX_AUTOFONT,NULL ) );
  268. CSPPropertyGridItem * pCategoryNormal;
  269. pCategoryNormal = pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_CHECKBOX_NORMAL,NULL ) );
  270. pCategoryNormal->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_CHECKBOX_NORMAL1 ) );
  271. pCategoryNormal->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_CHECKBOX_NORMAL2 ) );
  272. pCategoryNormal->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_CHECKBOX_NORMAL3 ) );
  273. pCategoryNormal->AddChildItem( new CSPPropertyGridItemText( IDS_STRING_CHECKBOX_NORMAL4 ) );
  274. pCategoryNormal->Expand();
  275. CSPPropertyGridItem * pCategoryHover;
  276. pCategoryHover = pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_CHECKBOX_HOVER,NULL ) );
  277. pCategoryHover->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_CHECKBOX_HOVER1 ) );
  278. pCategoryHover->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_CHECKBOX_HOVER2 ) );
  279. pCategoryHover->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_CHECKBOX_HOVER3 ) );
  280. pCategoryHover->AddChildItem( new CSPPropertyGridItemText( IDS_STRING_CHECKBOX_HOVER4 ) );
  281. pCategoryHover->Expand();
  282. CSPPropertyGridItem * pCategoryFocused;
  283. pCategoryFocused = pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_CHECKBOX_FOCUSED,NULL ) );
  284. pCategoryFocused->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_CHECKBOX_FOCUSED1 ) );
  285. pCategoryFocused->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_CHECKBOX_FOCUSED2 ) );
  286. pCategoryFocused->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_CHECKBOX_FOCUSED3 ) );
  287. pCategoryFocused->AddChildItem( new CSPPropertyGridItemText( IDS_STRING_CHECKBOX_FOCUSED4 ) );
  288. pCategoryFocused->Expand();
  289. CSPPropertyGridItem * pCategoryPressed;
  290. pCategoryPressed = pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_CHECKBOX_PRESSED,NULL ) );
  291. pCategoryPressed->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_CHECKBOX_PRESSED1 ) );
  292. pCategoryPressed->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_CHECKBOX_PRESSED2 ) );
  293. pCategoryPressed->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_CHECKBOX_PRESSED3 ) );
  294. pCategoryPressed->AddChildItem( new CSPPropertyGridItemText( IDS_STRING_CHECKBOX_PRESSED4 ) );
  295. pCategoryPressed->Expand();
  296. CSPPropertyGridItem * pCategoryDisabled;
  297. pCategoryDisabled = pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_CHECKBOX_DISABLED,NULL ) );
  298. pCategoryDisabled->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_CHECKBOX_DISABLED1 ) );
  299. pCategoryDisabled->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_CHECKBOX_DISABLED2 ) );
  300. pCategoryDisabled->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_CHECKBOX_DISABLED3 ) );
  301. pCategoryDisabled->AddChildItem( new CSPPropertyGridItemText( IDS_STRING_CHECKBOX_DISABLED4 ) );
  302. pCategoryDisabled->Expand();
  303. pCategoryApplication->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_CHECKBOX_IMAGEBACK ) );
  304. pCategoryApplication->AddChildItem( new CSPPropertyGridItemColor( IDS_STRING_CHECKBOX_COLORBACK ) );
  305. pCategoryApplication->Expand();
  306. }
  307. void CPropertyView::SetCheckBoxSkin( CCheckBoxSkin * pCheckBoxSkin )
  308. {
  309. CSPPropertyGridItem * pItem = NULL;
  310. CSPPropertyGridItemNumber * pNumber = NULL;
  311. CSPPropertyGridItemImage * pImage = NULL;
  312. CSPPropertyGridItemText * pText = NULL;
  313. CSPPropertyGridItemFont * pFont = NULL;
  314. CSPPropertyGridItemBool * pBool = NULL;
  315. pItem = ( CSPPropertyGridItem * ) m_wndPropertyCheckBox.FindItem( IDS_STRING_CHECKBOX_NAME );
  316. pItem->SetValue( pCheckBoxSkin->m_strName );
  317. pNumber = ( CSPPropertyGridItemNumber * ) m_wndPropertyCheckBox.FindItem( IDS_STRING_CHECKBOX_ID );
  318. pNumber->SetNumber( pCheckBoxSkin->m_nCtlID );
  319. pFont = ( CSPPropertyGridItemFont * ) m_wndPropertyCheckBox.FindItem( IDS_STRING_CHECKBOX_FONT );
  320. pFont->SetFont( pCheckBoxSkin->m_fontCheckBox );
  321. pBool = ( CSPPropertyGridItemBool * ) m_wndPropertyCheckBox.FindItem( IDS_STRING_CHECKBOX_AUTOFONT );
  322. pBool->SetBool( pCheckBoxSkin->m_bAutoFont );
  323. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyCheckBox.FindItem( IDS_STRING_CHECKBOX_NORMAL1 );
  324. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pCheckBoxSkin->m_stateCheckBox[keCheckNormal].imageChecked );
  325. pImage->SetValue( pCheckBoxSkin->m_stateCheckBox[keCheckNormal].imageChecked.strImageName );
  326. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  327. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyCheckBox.FindItem( IDS_STRING_CHECKBOX_NORMAL2 );
  328. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pCheckBoxSkin->m_stateCheckBox[keCheckNormal].imageUnchecked );
  329. pImage->SetValue( pCheckBoxSkin->m_stateCheckBox[keCheckNormal].imageUnchecked.strImageName );
  330. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  331. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyCheckBox.FindItem( IDS_STRING_CHECKBOX_NORMAL3 );
  332. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pCheckBoxSkin->m_stateCheckBox[keCheckNormal].imageIndeterminate );
  333. pImage->SetValue( pCheckBoxSkin->m_stateCheckBox[keCheckNormal].imageIndeterminate.strImageName );
  334. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  335. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyCheckBox.FindItem( IDS_STRING_CHECKBOX_HOVER1 );
  336. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pCheckBoxSkin->m_stateCheckBox[keCheckHover].imageChecked );
  337. pImage->SetValue( pCheckBoxSkin->m_stateCheckBox[keCheckHover].imageChecked.strImageName );
  338. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  339. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyCheckBox.FindItem( IDS_STRING_CHECKBOX_HOVER2 );
  340. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pCheckBoxSkin->m_stateCheckBox[keCheckHover].imageUnchecked );
  341. pImage->SetValue( pCheckBoxSkin->m_stateCheckBox[keCheckHover].imageUnchecked.strImageName );
  342. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  343. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyCheckBox.FindItem( IDS_STRING_CHECKBOX_HOVER3 );
  344. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pCheckBoxSkin->m_stateCheckBox[keCheckHover].imageIndeterminate );
  345. pImage->SetValue( pCheckBoxSkin->m_stateCheckBox[keCheckHover].imageIndeterminate.strImageName );
  346. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  347. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyCheckBox.FindItem( IDS_STRING_CHECKBOX_PRESSED1 );
  348. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pCheckBoxSkin->m_stateCheckBox[keCheckPressed].imageChecked );
  349. pImage->SetValue( pCheckBoxSkin->m_stateCheckBox[keCheckPressed].imageChecked.strImageName );
  350. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  351. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyCheckBox.FindItem( IDS_STRING_CHECKBOX_PRESSED2 );
  352. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pCheckBoxSkin->m_stateCheckBox[keCheckPressed].imageUnchecked );
  353. pImage->SetValue( pCheckBoxSkin->m_stateCheckBox[keCheckPressed].imageUnchecked.strImageName );
  354. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  355. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyCheckBox.FindItem( IDS_STRING_CHECKBOX_PRESSED3 );
  356. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pCheckBoxSkin->m_stateCheckBox[keCheckPressed].imageIndeterminate );
  357. pImage->SetValue( pCheckBoxSkin->m_stateCheckBox[keCheckPressed].imageIndeterminate.strImageName );
  358. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  359. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyCheckBox.FindItem( IDS_STRING_CHECKBOX_FOCUSED1 );
  360. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pCheckBoxSkin->m_stateCheckBox[keCheckFocused].imageChecked );
  361. pImage->SetValue( pCheckBoxSkin->m_stateCheckBox[keCheckFocused].imageChecked.strImageName );
  362. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  363. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyCheckBox.FindItem( IDS_STRING_CHECKBOX_FOCUSED2 );
  364. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pCheckBoxSkin->m_stateCheckBox[keCheckFocused].imageUnchecked );
  365. pImage->SetValue( pCheckBoxSkin->m_stateCheckBox[keCheckFocused].imageUnchecked.strImageName );
  366. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  367. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyCheckBox.FindItem( IDS_STRING_CHECKBOX_FOCUSED3 );
  368. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pCheckBoxSkin->m_stateCheckBox[keCheckFocused].imageIndeterminate );
  369. pImage->SetValue( pCheckBoxSkin->m_stateCheckBox[keCheckFocused].imageIndeterminate.strImageName );
  370. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  371. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyCheckBox.FindItem( IDS_STRING_CHECKBOX_DISABLED1 );
  372. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pCheckBoxSkin->m_stateCheckBox[keCheckDisabled].imageChecked );
  373. pImage->SetValue( pCheckBoxSkin->m_stateCheckBox[keCheckDisabled].imageChecked.strImageName );
  374. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  375. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyCheckBox.FindItem( IDS_STRING_CHECKBOX_DISABLED2 );
  376. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pCheckBoxSkin->m_stateCheckBox[keCheckDisabled].imageUnchecked );
  377. pImage->SetValue( pCheckBoxSkin->m_stateCheckBox[keCheckDisabled].imageUnchecked.strImageName );
  378. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  379. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyCheckBox.FindItem( IDS_STRING_CHECKBOX_DISABLED3 );
  380. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pCheckBoxSkin->m_stateCheckBox[keCheckDisabled].imageIndeterminate );
  381. pImage->SetValue( pCheckBoxSkin->m_stateCheckBox[keCheckDisabled].imageIndeterminate.strImageName );
  382. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  383. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyCheckBox.FindItem( IDS_STRING_CHECKBOX_IMAGEBACK );
  384. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pCheckBoxSkin->m_imageBackground );
  385. pImage->SetValue( pCheckBoxSkin->m_imageBackground.strImageName );
  386. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  387. }
  388. void CPropertyView::CreatePropertyGroupBox()
  389. {
  390. m_wndPropertyGroupBox.Create( CRect( 0,0,0,0 ),this,IDC_PROPERTY_GROUPBOXSKIN );
  391. CSPPropertyGridItem * pCategoryApplication = m_wndPropertyGroupBox.AddCategory( _T( "GroupBox" ) );
  392. pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_GROUPBOX_NAME,NULL ) );
  393. pCategoryApplication->AddChildItem( new CSPPropertyGridItemNumber( IDS_STRING_GROUPBOX_ID,NULL ) );
  394. NONCLIENTMETRICS nif;
  395. nif.cbSize = sizeof( nif );
  396. SystemParametersInfo( SPI_GETNONCLIENTMETRICS,sizeof( NONCLIENTMETRICS ),&nif,0 );
  397. LOGFONT font = nif.lfCaptionFont;
  398. pCategoryApplication->AddChildItem( new CSPPropertyGridItemFont( IDS_STRING_GROUPBOX_FONT,font ) );
  399. pCategoryApplication->AddChildItem( new CSPPropertyGridItemBool( IDS_STRING_GROUPBOX_AUTOFONT,NULL ) );
  400. pCategoryApplication->AddChildItem( new CSPPropertyGridItemBool( IDS_STRING_GROUPBOX_TRANSPARENT,NULL ) );
  401. pCategoryApplication->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_GROUPBOX_IMAGEFRAME ) );
  402. pCategoryApplication->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_GROUPBOX_IMAGECAPTION ) );
  403. pCategoryApplication->AddChildItem( new CSPPropertyGridItemColor( IDS_STRING_GROUPBOX_COLORCAPTION ) );
  404. pCategoryApplication->AddChildItem( new CSPPropertyGridItemText( IDS_STRING_GROUPBOX_TEXT ) );
  405. pCategoryApplication->Expand();
  406. }
  407. void CPropertyView::SetGroupBoxSkin( CGroupBoxSkin * pGroupBoxSkin )
  408. {
  409. CSPPropertyGridItem * pItem = NULL;
  410. CSPPropertyGridItemNumber * pNumber = NULL;
  411. CSPPropertyGridItemImage * pImage = NULL;
  412. CSPPropertyGridItemText * pText = NULL;
  413. CSPPropertyGridItemFont * pFont = NULL;
  414. CSPPropertyGridItemBool * pBool = NULL;
  415. pItem = ( CSPPropertyGridItem * ) m_wndPropertyGroupBox.FindItem( IDS_STRING_GROUPBOX_NAME );
  416. pItem->SetValue( pGroupBoxSkin->m_strName );
  417. pNumber = ( CSPPropertyGridItemNumber * ) m_wndPropertyGroupBox.FindItem( IDS_STRING_GROUPBOX_ID );
  418. pNumber->SetNumber( pGroupBoxSkin->m_nCtlID );
  419. pFont = ( CSPPropertyGridItemFont * ) m_wndPropertyGroupBox.FindItem( IDS_STRING_GROUPBOX_FONT );
  420. pFont->SetFont( pGroupBoxSkin->m_fontGroupBox );
  421. pBool = ( CSPPropertyGridItemBool * ) m_wndPropertyGroupBox.FindItem( IDS_STRING_GROUPBOX_AUTOFONT );
  422. pBool->SetBool( pGroupBoxSkin->m_bAutoFont );
  423. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyGroupBox.FindItem( IDS_STRING_GROUPBOX_IMAGEFRAME );
  424. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pGroupBoxSkin->m_imageFrame );
  425. pImage->SetValue( pGroupBoxSkin->m_imageFrame.strImageName );
  426. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  427. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyGroupBox.FindItem( IDS_STRING_GROUPBOX_IMAGECAPTION );
  428. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pGroupBoxSkin->m_imageCaption );
  429. pImage->SetValue( pGroupBoxSkin->m_imageCaption.strImageName );
  430. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  431. }
  432. void CPropertyView::CreatePropertyEdit()
  433. {
  434. m_wndPropertyEdit.Create( CRect( 0,0,0,0 ),this,IDC_PROPERTY_EDITSKIN );
  435. CSPPropertyGridItem * pCategoryApplication = m_wndPropertyEdit.AddCategory( _T( "Edit" ) );
  436. pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_EDIT_NAME,NULL ) );
  437. pCategoryApplication->AddChildItem( new CSPPropertyGridItemNumber( IDS_STRING_EDIT_ID,NULL ) );
  438. NONCLIENTMETRICS nif;
  439. nif.cbSize = sizeof( nif );
  440. SystemParametersInfo( SPI_GETNONCLIENTMETRICS,sizeof( NONCLIENTMETRICS ),&nif,0 );
  441. LOGFONT font = nif.lfCaptionFont;
  442. pCategoryApplication->AddChildItem( new CSPPropertyGridItemFont( IDS_STRING_EDIT_FONT,font ) );
  443. pCategoryApplication->AddChildItem( new CSPPropertyGridItemBool( IDS_STRING_EDIT_AUTOFONT,NULL ) );
  444. pCategoryApplication->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_EDIT_IMAGEBORDER ) );
  445. pCategoryApplication->AddChildItem( new CSPPropertyGridItemColor( IDS_STRING_EDIT_COLORBACK ) );
  446. pCategoryApplication->AddChildItem( new CSPPropertyGridItemColor( IDS_STRING_EDIT_COLORTEXT ) );
  447. pCategoryApplication->AddChildItem( new CSPPropertyGridItemColor( IDS_STRING_TEDIT_DISABLEDCOLOR ) );
  448. pCategoryApplication->Expand();
  449. }
  450. void CPropertyView::SetEditSkin( CEditSkin * pEditSkin )
  451. {
  452. CSPPropertyGridItem * pItem = NULL;
  453. CSPPropertyGridItemNumber * pNumber = NULL;
  454. CSPPropertyGridItemImage * pImage = NULL;
  455. CSPPropertyGridItemText * pText = NULL;
  456. CSPPropertyGridItemFont * pFont = NULL;
  457. CSPPropertyGridItemBool * pBool = NULL;
  458. CSPPropertyGridItemColor * pColor = NULL;
  459. pItem = ( CSPPropertyGridItem * ) m_wndPropertyEdit.FindItem( IDS_STRING_EDIT_NAME );
  460. pItem->SetValue( pEditSkin->m_strName );
  461. pNumber = ( CSPPropertyGridItemNumber * ) m_wndPropertyEdit.FindItem( IDS_STRING_EDIT_ID );
  462. pNumber->SetNumber( pEditSkin->m_nCtlID );
  463. pFont = ( CSPPropertyGridItemFont * ) m_wndPropertyEdit.FindItem( IDS_STRING_EDIT_FONT );
  464. pFont->SetFont( pEditSkin->m_fontEdit );
  465. pBool = ( CSPPropertyGridItemBool * ) m_wndPropertyEdit.FindItem( IDS_STRING_EDIT_AUTOFONT );
  466. pBool->SetBool( pEditSkin->m_bAutoFont );
  467. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyEdit.FindItem( IDS_STRING_EDIT_IMAGEBORDER );
  468. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pEditSkin->m_imageBorder );
  469. pImage->SetValue( pEditSkin->m_imageBorder.strImageName );
  470. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  471. pColor = ( CSPPropertyGridItemColor * ) m_wndPropertyStatic.FindItem( IDS_STRING_STATIC_COLORBACK );
  472. pColor->SetColor( pEditSkin->m_colorBack );
  473. }
  474. void CPropertyView::CreatePropertyListBox()
  475. {
  476. m_wndPropertyListBox.Create( CRect( 0,0,0,0 ),this,IDC_PROPERTY_COMBOBOXSKIN );
  477. CSPPropertyGridItem * pCategoryApplication = m_wndPropertyListBox.AddCategory( _T( "ListBox" ) );
  478. pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_LISTBOX_NAME,NULL ) );
  479. pCategoryApplication->AddChildItem( new CSPPropertyGridItemNumber( IDS_STRING_LISTBOX_ID,NULL ) );
  480. NONCLIENTMETRICS nif;
  481. nif.cbSize = sizeof( nif );
  482. SystemParametersInfo( SPI_GETNONCLIENTMETRICS,sizeof( NONCLIENTMETRICS ),&nif,0 );
  483. LOGFONT font = nif.lfCaptionFont;
  484. pCategoryApplication->AddChildItem( new CSPPropertyGridItemFont( IDS_STRING_LISTBOX_FONT,font ) );
  485. pCategoryApplication->AddChildItem( new CSPPropertyGridItemBool( IDS_STRING_LISTBOX_AUTOFONT,NULL ) );
  486. pCategoryApplication->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_LISTBOX_IMAGEBOREDER ) );
  487. pCategoryApplication->Expand();
  488. }
  489. void CPropertyView::SetListBoxSkin( CListBoxSkin * pListBoxSkin )
  490. {
  491. CSPPropertyGridItem * pItem = NULL;
  492. CSPPropertyGridItemNumber * pNumber = NULL;
  493. CSPPropertyGridItemImage * pImage = NULL;
  494. CSPPropertyGridItemText * pText = NULL;
  495. CSPPropertyGridItemFont * pFont = NULL;
  496. CSPPropertyGridItemBool * pBool = NULL;
  497. CSPPropertyGridItemColor * pColor = NULL;
  498. pItem = ( CSPPropertyGridItem * ) m_wndPropertyListBox.FindItem( IDS_STRING_LISTBOX_NAME );
  499. pItem->SetValue( pListBoxSkin->m_strName );
  500. pNumber = ( CSPPropertyGridItemNumber * ) m_wndPropertyListBox.FindItem( IDS_STRING_LISTBOX_ID );
  501. pNumber->SetNumber( pListBoxSkin->m_nCtlID );
  502. pFont = ( CSPPropertyGridItemFont * ) m_wndPropertyListBox.FindItem( IDS_STRING_LISTBOX_FONT );
  503. pFont->SetFont( pListBoxSkin->m_fontListBox );
  504. pBool = ( CSPPropertyGridItemBool * ) m_wndPropertyListBox.FindItem( IDS_STRING_LISTBOX_AUTOFONT );
  505. pBool->SetBool( pListBoxSkin->m_bAutoFont );
  506. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyListBox.FindItem( IDS_STRING_LISTBOX_IMAGEBOREDER );
  507. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pListBoxSkin->m_imageBorder );
  508. pImage->SetValue( pListBoxSkin->m_imageBorder.strImageName );
  509. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  510. }
  511. void CPropertyView::CreatePropertyPopupMenu()
  512. {
  513. m_wndPropertyPopupMenu.Create( CRect( 0,0,0,0 ),this,IDC_PROPERTY_POPUPMENUSKIN );
  514. CSPPropertyGridItem * pCategoryApplication = m_wndPropertyPopupMenu.AddCategory( _T( "PopupMenu" ) );
  515. pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_POPUPMENU_NAME,NULL ) );
  516. pCategoryApplication->AddChildItem( new CSPPropertyGridItemNumber( IDS_STRING_POPUPMENU_ID,NULL ) );
  517. pCategoryApplication->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_POPUPMENU_IMAGEFRAME ) );
  518. pCategoryApplication->AddChildItem( new CSPPropertyGridItemColor( IDS_STRING_POPUPMENU_COLORBACKGROUND ) );
  519. CSPPropertyGridItem * pMenuItem = pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_POPUPMENU_IMAGEITEM ) );
  520. pMenuItem->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_POPUPMENU_IMAGEACTIVE ) );
  521. pMenuItem->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_POPUPMENU_IMAGESEPARATOR ) );
  522. pMenuItem->AddChildItem( new CSPPropertyGridItemColor( IDS_STRING_POPUPMENU_TEXTNORMAL ) );
  523. pMenuItem->AddChildItem( new CSPPropertyGridItemColor( IDS_STRING_POPUPMENU_TEXTGRAYED ) );
  524. pMenuItem->AddChildItem( new CSPPropertyGridItemColor( IDS_STRING_POPUPMENU_TEXTACTIVE ) );
  525. pMenuItem->AddChildItem( new CSPPropertyGridItemColor( IDS_STRING_POPUPMENU_COLORACTIVE ) );
  526. pMenuItem->AddChildItem( new CSPPropertyGridItemColor( IDS_STRING_POPUPMENU_COLORSEPERATOR ) );
  527. pMenuItem->Expand();
  528. pCategoryApplication->Expand();
  529. }
  530. void CPropertyView::SetPopupMenuSkin( CPopupMenuSkin * pPopupMenuSkin )
  531. {
  532. CSPPropertyGridItem * pItem = NULL;
  533. CSPPropertyGridItemNumber * pNumber = NULL;
  534. CSPPropertyGridItemImage * pImage = NULL;
  535. CSPPropertyGridItemText * pText = NULL;
  536. CSPPropertyGridItemFont * pFont = NULL;
  537. CSPPropertyGridItemBool * pBool = NULL;
  538. CSPPropertyGridItemColor * pColor = NULL;
  539. pItem = ( CSPPropertyGridItem * ) m_wndPropertyPopupMenu.FindItem( IDS_STRING_POPUPMENU_NAME );
  540. pItem->SetValue( pPopupMenuSkin->m_strName );
  541. pNumber = ( CSPPropertyGridItemNumber * ) m_wndPropertyPopupMenu.FindItem( IDS_STRING_POPUPMENU_ID );
  542. pNumber->SetNumber( pPopupMenuSkin->m_nCtlID );
  543. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyPopupMenu.FindItem( IDS_STRING_POPUPMENU_IMAGEFRAME );
  544. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pPopupMenuSkin->m_imageFrame );
  545. pImage->SetValue( pPopupMenuSkin->m_imageFrame.strImageName );
  546. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  547. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyPopupMenu.FindItem( IDS_STRING_POPUPMENU_IMAGESEPARATOR );
  548. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pPopupMenuSkin->m_itemPopup.imageSeparator );
  549. pImage->SetValue( pPopupMenuSkin->m_itemPopup.imageSeparator.strImageName );
  550. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  551. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyPopupMenu.FindItem( IDS_STRING_POPUPMENU_IMAGEACTIVE );
  552. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pPopupMenuSkin->m_itemPopup.imageActive );
  553. pImage->SetValue( pPopupMenuSkin->m_itemPopup.imageSeparator.strImageName );
  554. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  555. pColor = ( CSPPropertyGridItemColor * ) m_wndPropertyPopupMenu.FindItem( IDS_STRING_POPUPMENU_COLORBACKGROUND );
  556. pColor->SetColor( pPopupMenuSkin->m_colorBackground );
  557. pColor = ( CSPPropertyGridItemColor * ) m_wndPropertyPopupMenu.FindItem( IDS_STRING_POPUPMENU_TEXTNORMAL );
  558. pColor->SetColor( pPopupMenuSkin->m_itemPopup.textNormal );
  559. pColor = ( CSPPropertyGridItemColor * ) m_wndPropertyPopupMenu.FindItem( IDS_STRING_POPUPMENU_TEXTGRAYED );
  560. pColor->SetColor( pPopupMenuSkin->m_itemPopup.textGrayed );
  561. pColor = ( CSPPropertyGridItemColor * ) m_wndPropertyPopupMenu.FindItem( IDS_STRING_POPUPMENU_TEXTACTIVE );
  562. pColor->SetColor( pPopupMenuSkin->m_itemPopup.textActive );
  563. pColor = ( CSPPropertyGridItemColor * ) m_wndPropertyPopupMenu.FindItem( IDS_STRING_POPUPMENU_COLORACTIVE );
  564. pColor->SetColor( pPopupMenuSkin->m_itemPopup.colorActive );
  565. pColor = ( CSPPropertyGridItemColor * ) m_wndPropertyPopupMenu.FindItem( IDS_STRING_POPUPMENU_COLORSEPERATOR );
  566. pColor->SetColor( pPopupMenuSkin->m_itemPopup.colorSeparator );
  567. }
  568. void CPropertyView::CreatePropertyComboBox()
  569. {
  570. m_wndPropertyComboBox.Create( CRect( 0,0,0,0 ),this,IDC_PROPERTY_COMBOBOXSKIN );
  571. CSPPropertyGridItem * pCategoryApplication = m_wndPropertyComboBox.AddCategory( _T( "Combox" ) );
  572. pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_COMBOX_NAME,NULL ) );
  573. pCategoryApplication->AddChildItem( new CSPPropertyGridItemNumber( IDS_STRING_COMBOX_ID,NULL ) );
  574. NONCLIENTMETRICS nif;
  575. nif.cbSize = sizeof( nif );
  576. SystemParametersInfo( SPI_GETNONCLIENTMETRICS,sizeof( NONCLIENTMETRICS ),&nif,0 );
  577. LOGFONT font = nif.lfCaptionFont;
  578. pCategoryApplication->AddChildItem( new CSPPropertyGridItemFont( IDS_STRING_COMBOX_FONT,font ) );
  579. pCategoryApplication->AddChildItem( new CSPPropertyGridItemBool( IDS_STRING_COMBOX_AUTOFONT,NULL ) );
  580. pCategoryApplication->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_COMBOX_IMAGEBORDER ) );
  581. CSPPropertyGridItem * pThumb = pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_COMBOX_IMAGETHUMB ) );
  582. pThumb->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_COMBOX_IMAGETHUMB_NORMAL ) );
  583. pThumb->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_COMBOX_IMAGETHUMB_HOVERED ) );
  584. pThumb->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_COMBOX_IMAGETHUMB_PRESSED ) );
  585. pThumb->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_COMBOX_IMAGETHUMB_DISABLED ) );
  586. pThumb->Expand();
  587. pCategoryApplication->Expand();
  588. }
  589. void CPropertyView::SetComboxSkin( CComboBoxSkin * pComboBoxSkin )
  590. {
  591. CSPPropertyGridItem * pItem = NULL;
  592. CSPPropertyGridItemNumber * pNumber = NULL;
  593. CSPPropertyGridItemImage * pImage = NULL;
  594. CSPPropertyGridItemText * pText = NULL;
  595. CSPPropertyGridItemFont * pFont = NULL;
  596. CSPPropertyGridItemBool * pBool = NULL;
  597. CSPPropertyGridItemColor * pColor = NULL;
  598. pItem = ( CSPPropertyGridItem * ) m_wndPropertyComboBox.FindItem( IDS_STRING_COMBOX_NAME );
  599. pItem->SetValue( pComboBoxSkin->m_strName );
  600. pNumber = ( CSPPropertyGridItemNumber * ) m_wndPropertyComboBox.FindItem( IDS_STRING_COMBOX_ID );
  601. pNumber->SetNumber( pComboBoxSkin->m_nCtlID );
  602. pFont = ( CSPPropertyGridItemFont * ) m_wndPropertyComboBox.FindItem( IDS_STRING_COMBOX_FONT );
  603. pFont->SetFont( pComboBoxSkin->m_fontComboBox );
  604. pBool = ( CSPPropertyGridItemBool * ) m_wndPropertyComboBox.FindItem( IDS_STRING_COMBOX_AUTOFONT );
  605. pBool->SetBool( pComboBoxSkin->m_bAutoFont );
  606. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyComboBox.FindItem( IDS_STRING_COMBOX_IMAGEBORDER );
  607. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pComboBoxSkin->m_imageBorder );
  608. pImage->SetValue( pComboBoxSkin->m_imageBorder.strImageName );
  609. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  610. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyComboBox.FindItem( IDS_STRING_COMBOX_IMAGETHUMB_NORMAL );
  611. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pComboBoxSkin->m_iamgeThumb[keThumbNormal] );
  612. pImage->SetValue( pComboBoxSkin->m_iamgeThumb[keThumbNormal].strImageName );
  613. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  614. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyComboBox.FindItem( IDS_STRING_COMBOX_IMAGETHUMB_HOVERED );
  615. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pComboBoxSkin->m_iamgeThumb[keThumbHovered] );
  616. pImage->SetValue( pComboBoxSkin->m_iamgeThumb[keThumbHovered].strImageName );
  617. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  618. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyComboBox.FindItem( IDS_STRING_COMBOX_IMAGETHUMB_PRESSED );
  619. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pComboBoxSkin->m_iamgeThumb[keThumbPressed] );
  620. pImage->SetValue( pComboBoxSkin->m_iamgeThumb[keThumbPressed].strImageName );
  621. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  622. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyComboBox.FindItem( IDS_STRING_COMBOX_IMAGETHUMB_PRESSED );
  623. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pComboBoxSkin->m_iamgeThumb[keThumbDisabled] );
  624. pImage->SetValue( pComboBoxSkin->m_iamgeThumb[keThumbDisabled].strImageName );
  625. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  626. }
  627. void CPropertyView::CreatePropertyStatic()
  628. {
  629. m_wndPropertyStatic.Create( CRect( 0,0,0,0 ),this,IDC_PROPERTY_STATICSKIN );
  630. CSPPropertyGridItem * pCategoryApplication = m_wndPropertyStatic.AddCategory( _T( "Static" ) );
  631. pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_STATIC_NAME,NULL ) );
  632. pCategoryApplication->AddChildItem( new CSPPropertyGridItemNumber( IDS_STRING_STATIC_ID,NULL ) );
  633. NONCLIENTMETRICS nif;
  634. nif.cbSize = sizeof( nif );
  635. SystemParametersInfo( SPI_GETNONCLIENTMETRICS,sizeof( NONCLIENTMETRICS ),&nif,0 );
  636. LOGFONT font = nif.lfCaptionFont;
  637. pCategoryApplication->AddChildItem( new CSPPropertyGridItemFont( IDS_STRING_STATIC_FONT,font ) );
  638. pCategoryApplication->AddChildItem( new CSPPropertyGridItemBool( IDS_STRING_STATIC_AUTOFONT,NULL ) );
  639. pCategoryApplication->AddChildItem( new CSPPropertyGridItemBool( IDS_STRING_STATIC_TRANSPARENT,NULL ) );
  640. pCategoryApplication->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_STATIC_IMAGEBACK ) );
  641. pCategoryApplication->AddChildItem( new CSPPropertyGridItemColor( IDS_STRING_STATIC_COLORBACK ) );
  642. pCategoryApplication->AddChildItem( new CSPPropertyGridItemColor( IDS_STRING_STATIC_TEXT ) );
  643. pCategoryApplication->Expand();
  644. }
  645. void CPropertyView::SetStaticSkin( CStaticSkin * pStaticSkin )
  646. {
  647. CSPPropertyGridItem * pItem = NULL;
  648. CSPPropertyGridItemNumber * pNumber = NULL;
  649. CSPPropertyGridItemImage * pImage = NULL;
  650. CSPPropertyGridItemText * pText = NULL;
  651. CSPPropertyGridItemFont * pFont = NULL;
  652. CSPPropertyGridItemBool * pBool = NULL;
  653. CSPPropertyGridItemColor * pColor = NULL;
  654. pItem = ( CSPPropertyGridItem * ) m_wndPropertyStatic.FindItem( IDS_STRING_STATIC_NAME );
  655. pItem->SetValue( pStaticSkin->m_strName );
  656. pNumber = ( CSPPropertyGridItemNumber * ) m_wndPropertyStatic.FindItem( IDS_STRING_STATIC_ID );
  657. pNumber->SetNumber( pStaticSkin->m_nCtlID );
  658. pFont = ( CSPPropertyGridItemFont * ) m_wndPropertyStatic.FindItem( IDS_STRING_STATIC_FONT );
  659. pFont->SetFont( pStaticSkin->m_fontStatic );
  660. pBool = ( CSPPropertyGridItemBool * ) m_wndPropertyStatic.FindItem( IDS_STRING_STATIC_AUTOFONT );
  661. pBool->SetBool( pStaticSkin->m_bAutoFont );
  662. pBool = ( CSPPropertyGridItemBool * ) m_wndPropertyStatic.FindItem( IDS_STRING_STATIC_TRANSPARENT );
  663. pBool->SetBool( pStaticSkin->m_bTransparent );
  664. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyStatic.FindItem( IDS_STRING_STATIC_IMAGEBACK );
  665. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pStaticSkin->m_imageBack );
  666. pImage->SetValue( pStaticSkin->m_imageBack.strImageName );
  667. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  668. pColor = ( CSPPropertyGridItemColor * ) m_wndPropertyStatic.FindItem( IDS_STRING_STATIC_COLORBACK );
  669. pColor->SetColor( pStaticSkin->m_colorBack );
  670. }
  671. void CPropertyView::CreatePropertyHeader()
  672. {
  673. m_wndPropertyHeader.Create( CRect( 0,0,0,0 ),this,IDC_PROPERTY_HEADERSKIN );
  674. CSPPropertyGridItem * pCategoryApplication = m_wndPropertyHeader.AddCategory( _T( "HeaderSkin" ) );
  675. pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_HEADER_NAME,NULL ) );
  676. pCategoryApplication->AddChildItem( new CSPPropertyGridItemNumber( IDS_STRING_HEADER_ID,NULL ) );
  677. pCategoryApplication->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_HEADER_IMAGEBACK ) );
  678. CSPPropertyGridItem * pItem = pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_HEADER_ITEM,NULL ) );
  679. pItem->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_HEADER_ITEMNORMAL ) );
  680. pItem->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_HEADER_ITEMHOVER ) );
  681. pItem->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_HEADER_ITEMPRESSED ) );
  682. pItem->Expand();
  683. pCategoryApplication->Expand();
  684. }
  685. void CPropertyView::SetHeaderSkin( CHeaderSkin * pHeaderSkin )
  686. {
  687. CSPPropertyGridItem * pItem = NULL;
  688. CSPPropertyGridItemNumber * pNumber = NULL;
  689. CSPPropertyGridItemImage * pImage = NULL;
  690. CSPPropertyGridItemText * pText = NULL;
  691. CSPPropertyGridItemFont * pFont = NULL;
  692. CSPPropertyGridItemBool * pBool = NULL;
  693. CSPPropertyGridItemColor * pColor = NULL;
  694. pItem = ( CSPPropertyGridItem * ) m_wndPropertyHeader.FindItem( IDS_STRING_HEADER_NAME );
  695. pItem->SetValue( pHeaderSkin->m_strName );
  696. pNumber = ( CSPPropertyGridItemNumber * ) m_wndPropertyHeader.FindItem( IDS_STRING_HEADER_ID );
  697. pNumber->SetNumber( pHeaderSkin->m_nCtlID );
  698. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyHeader.FindItem( IDS_STRING_HEADER_IMAGEBACK );
  699. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pHeaderSkin->m_imageBackground );
  700. pImage->SetValue( pHeaderSkin->m_imageBackground.strImageName );
  701. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  702. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyHeader.FindItem( IDS_STRING_HEADER_ITEMNORMAL );
  703. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pHeaderSkin->m_imageItemNormal );
  704. pImage->SetValue( pHeaderSkin->m_imageItemNormal.strImageName );
  705. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  706. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyHeader.FindItem( IDS_STRING_HEADER_ITEMHOVER );
  707. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pHeaderSkin->m_imageItemHover );
  708. pImage->SetValue( pHeaderSkin->m_imageItemHover.strImageName );
  709. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  710. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyHeader.FindItem( IDS_STRING_HEADER_ITEMPRESSED );
  711. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pHeaderSkin->m_imageItemPressed );
  712. pImage->SetValue( pHeaderSkin->m_imageItemPressed.strImageName );
  713. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  714. }
  715. void CPropertyView::CreatePropertySpin()
  716. {
  717. m_wndPropertySpin.Create( CRect( 0,0,0,0 ),this,IDC_PROPERTY_SPINSKIN );
  718. CSPPropertyGridItem * pCategoryApplication = m_wndPropertySpin.AddCategory( _T( "SpinSkin" ) );
  719. pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_SPIN_NAME,NULL ) );
  720. pCategoryApplication->AddChildItem( new CSPPropertyGridItemNumber( IDS_STRING_SPIN_ID,NULL ) );
  721. CSPPropertyGridItem * pHorz = pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_SPIN_VERT,NULL ) );
  722. CSPPropertyGridItem * pNormal = pHorz->AddChildItem( new CSPPropertyGridItem( IDS_STRING_SPIN_NORMAL,NULL ) );
  723. pNormal->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SPIN_NORMALUP ) );
  724. pNormal->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SPIN_NORMALDOWN ) );
  725. pNormal->Expand();
  726. CSPPropertyGridItem * pHover = pHorz->AddChildItem( new CSPPropertyGridItem( IDS_STRING_SPIN_HOVER,NULL ) );
  727. pHover->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SPIN_HOVERUP ) );
  728. pHover->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SPIN_HOVERDOWN ) );
  729. pHover->Expand();
  730. CSPPropertyGridItem * pPressed = pHorz->AddChildItem( new CSPPropertyGridItem( IDS_STRING_SPIN_PRESSED,NULL ) );
  731. pPressed->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SPIN_PRESSEDUP ) );
  732. pPressed->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SPIN_PRESSEDDOWN ) );
  733. pPressed->Expand();
  734. CSPPropertyGridItem * pDisabled = pHorz->AddChildItem( new CSPPropertyGridItem( IDS_STRING_SPIN_DISABLED,NULL ) );
  735. pDisabled->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SPIN_DISABLEDUP ) );
  736. pDisabled->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SPIN_DISABLEDDOWN ) );
  737. pDisabled->Expand();
  738. pHorz->Expand();
  739. CSPPropertyGridItem * pVert = pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_SPIN_HORZ,NULL ) );
  740. pNormal = pVert->AddChildItem( new CSPPropertyGridItem( IDS_STRING_SPIN_NORMAL,NULL ) );
  741. pNormal->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SPIN_NORMALLEFT ) );
  742. pNormal->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SPIN_NORMALRIGHT ) );
  743. pNormal->Expand();
  744. pHover = pVert->AddChildItem( new CSPPropertyGridItem( IDS_STRING_SPIN_HOVER,NULL ) );
  745. pHover->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SPIN_HOVERLEFT ) );
  746. pHover->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SPIN_HOVERRIGHT ) );
  747. pHover->Expand();
  748. pPressed = pVert->AddChildItem( new CSPPropertyGridItem( IDS_STRING_SPIN_PRESSED,NULL ) );
  749. pPressed->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SPIN_PRESSEDLEFT ) );
  750. pPressed->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SPIN_PRESSEDRIGHT ) );
  751. pPressed->Expand();
  752. pDisabled = pVert->AddChildItem( new CSPPropertyGridItem( IDS_STRING_SPIN_DISABLED,NULL ) );
  753. pDisabled->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SPIN_DISABLEDLEFT ) );
  754. pDisabled->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SPIN_DISABLEDRIGHT ) );
  755. pDisabled->Expand();
  756. pVert->Expand();
  757. pCategoryApplication->Expand();
  758. }
  759. void CPropertyView::SetSpinSkin( CSpinSkin * pSpinSkin )
  760. {
  761. CSPPropertyGridItem * pItem = NULL;
  762. CSPPropertyGridItemNumber * pNumber = NULL;
  763. CSPPropertyGridItemImage * pImage = NULL;
  764. CSPPropertyGridItemText * pText = NULL;
  765. CSPPropertyGridItemFont * pFont = NULL;
  766. CSPPropertyGridItemBool * pBool = NULL;
  767. CSPPropertyGridItemColor * pColor = NULL;
  768. pItem = ( CSPPropertyGridItem * ) m_wndPropertySpin.FindItem( IDS_STRING_SPIN_NAME );
  769. pItem->SetValue( pSpinSkin->m_strName );
  770. pNumber = ( CSPPropertyGridItemNumber * ) m_wndPropertySpin.FindItem( IDS_STRING_SPIN_ID );
  771. pNumber->SetNumber( pSpinSkin->m_nCtlID );
  772. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertySpin.FindItem( IDS_STRING_SPIN_NORMALUP );
  773. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pSpinSkin->m_thumbVert[keSpinNormal].imageUp );
  774. pImage->SetValue( pSpinSkin->m_thumbVert[keSpinNormal].imageUp.strImageName );
  775. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  776. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertySpin.FindItem( IDS_STRING_SPIN_NORMALDOWN );
  777. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pSpinSkin->m_thumbVert[keSpinNormal].imageDown );
  778. pImage->SetValue( pSpinSkin->m_thumbVert[keSpinNormal].imageDown.strImageName );
  779. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  780. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertySpin.FindItem( IDS_STRING_SPIN_HOVERUP );
  781. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pSpinSkin->m_thumbVert[keSpinHover].imageUp );
  782. pImage->SetValue( pSpinSkin->m_thumbVert[keSpinHover].imageUp.strImageName );
  783. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  784. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertySpin.FindItem( IDS_STRING_SPIN_HOVERDOWN );
  785. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pSpinSkin->m_thumbVert[keSpinHover].imageDown );
  786. pImage->SetValue( pSpinSkin->m_thumbVert[keSpinHover].imageDown.strImageName );
  787. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  788. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertySpin.FindItem( IDS_STRING_SPIN_PRESSEDUP );
  789. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pSpinSkin->m_thumbVert[keSpinPressed].imageUp );
  790. pImage->SetValue( pSpinSkin->m_thumbVert[keSpinPressed].imageUp.strImageName );
  791. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  792. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertySpin.FindItem( IDS_STRING_SPIN_PRESSEDDOWN );
  793. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pSpinSkin->m_thumbVert[keSpinPressed].imageDown );
  794. pImage->SetValue( pSpinSkin->m_thumbVert[keSpinPressed].imageDown.strImageName );
  795. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  796. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertySpin.FindItem( IDS_STRING_SPIN_DISABLEDUP );
  797. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pSpinSkin->m_thumbVert[keSpinDisabled].imageUp );
  798. pImage->SetValue( pSpinSkin->m_thumbVert[keSpinDisabled].imageUp.strImageName );
  799. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  800. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertySpin.FindItem( IDS_STRING_SPIN_DISABLEDDOWN );
  801. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pSpinSkin->m_thumbVert[keSpinDisabled].imageDown );
  802. pImage->SetValue( pSpinSkin->m_thumbVert[keSpinDisabled].imageDown.strImageName );
  803. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  804. //////////////////////////////////////
  805. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertySpin.FindItem( IDS_STRING_SPIN_NORMALLEFT );
  806. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pSpinSkin->m_thumbHort[keSpinNormal].imageUp );
  807. pImage->SetValue( pSpinSkin->m_thumbHort[keSpinNormal].imageUp.strImageName );
  808. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  809. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertySpin.FindItem( IDS_STRING_SPIN_NORMALRIGHT );
  810. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pSpinSkin->m_thumbHort[keSpinNormal].imageDown );
  811. pImage->SetValue( pSpinSkin->m_thumbHort[keSpinNormal].imageDown.strImageName );
  812. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  813. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertySpin.FindItem( IDS_STRING_SPIN_HOVERLEFT );
  814. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pSpinSkin->m_thumbHort[keSpinHover].imageUp );
  815. pImage->SetValue( pSpinSkin->m_thumbHort[keSpinHover].imageUp.strImageName );
  816. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  817. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertySpin.FindItem( IDS_STRING_SPIN_HOVERRIGHT );
  818. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pSpinSkin->m_thumbHort[keSpinHover].imageDown );
  819. pImage->SetValue( pSpinSkin->m_thumbHort[keSpinHover].imageDown.strImageName );
  820. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  821. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertySpin.FindItem( IDS_STRING_SPIN_PRESSEDLEFT );
  822. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pSpinSkin->m_thumbHort[keSpinPressed].imageUp );
  823. pImage->SetValue( pSpinSkin->m_thumbHort[keSpinPressed].imageUp.strImageName );
  824. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  825. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertySpin.FindItem( IDS_STRING_SPIN_PRESSEDRIGHT );
  826. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pSpinSkin->m_thumbHort[keSpinPressed].imageDown );
  827. pImage->SetValue( pSpinSkin->m_thumbHort[keSpinPressed].imageDown.strImageName );
  828. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  829. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertySpin.FindItem( IDS_STRING_SPIN_DISABLEDLEFT );
  830. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pSpinSkin->m_thumbHort[keSpinDisabled].imageUp );
  831. pImage->SetValue( pSpinSkin->m_thumbHort[keSpinDisabled].imageUp.strImageName );
  832. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  833. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertySpin.FindItem( IDS_STRING_SPIN_DISABLEDRIGHT );
  834. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pSpinSkin->m_thumbHort[keSpinDisabled].imageDown );
  835. pImage->SetValue( pSpinSkin->m_thumbHort[keSpinDisabled].imageDown.strImageName );
  836. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  837. }
  838. void CPropertyView::CreatePropertyProgress()
  839. {
  840. m_wndPropertyProgress.Create( CRect( 0,0,0,0 ),this,IDC_PROPERTY_PROGRESSSKIN );
  841. CSPPropertyGridItem * pCategoryApplication = m_wndPropertyProgress.AddCategory( _T( "ProgressSkin" ) );
  842. pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_PROGRESS_NAME,NULL ) );
  843. pCategoryApplication->AddChildItem( new CSPPropertyGridItemNumber( IDS_STRING_PROGRESS_ID,NULL ) );
  844. pCategoryApplication->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_PROGRESS_IMAGEBACK ) );
  845. pCategoryApplication->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_PROGRESS_IMAGEPROGRESS ) );
  846. pCategoryApplication->AddChildItem( new CSPPropertyGridItemColor( IDS_STRING_PROGRESS_COLORBACK ) );
  847. pCategoryApplication->AddChildItem( new CSPPropertyGridItemColor( IDS_STRING_PROGRESS_COLORPROGRESS ) );
  848. pCategoryApplication->Expand();
  849. }
  850. void CPropertyView::SetProgressSkin( CProgressSkin * pProgressSkin )
  851. {
  852. CSPPropertyGridItem * pItem = NULL;
  853. CSPPropertyGridItemNumber * pNumber = NULL;
  854. CSPPropertyGridItemImage * pImage = NULL;
  855. CSPPropertyGridItemText * pText = NULL;
  856. CSPPropertyGridItemFont * pFont = NULL;
  857. CSPPropertyGridItemBool * pBool = NULL;
  858. CSPPropertyGridItemColor * pColor = NULL;
  859. pItem = ( CSPPropertyGridItem * ) m_wndPropertyProgress.FindItem( IDS_STRING_PROGRESS_NAME );
  860. pItem->SetValue( pProgressSkin->m_strName );
  861. pNumber = ( CSPPropertyGridItemNumber * ) m_wndPropertyProgress.FindItem( IDS_STRING_PROGRESS_ID );
  862. pNumber->SetNumber( pProgressSkin->m_nCtlID );
  863. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyProgress.FindItem( IDS_STRING_PROGRESS_IMAGEBACK );
  864. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pProgressSkin->m_imageBackground );
  865. pImage->SetValue( pProgressSkin->m_imageBackground.strImageName );
  866. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  867. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyProgress.FindItem( IDS_STRING_PROGRESS_IMAGEPROGRESS );
  868. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pProgressSkin->m_imageProgress );
  869. pImage->SetValue( pProgressSkin->m_imageProgress.strImageName );
  870. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  871. pColor = ( CSPPropertyGridItemColor * ) m_wndPropertyProgress.FindItem( IDS_STRING_PROGRESS_COLORBACK );
  872. pColor->SetColor( pProgressSkin->m_colorBackground );
  873. pColor = ( CSPPropertyGridItemColor * ) m_wndPropertyProgress.FindItem( IDS_STRING_PROGRESS_COLORPROGRESS );
  874. pColor->SetColor( pProgressSkin->m_colorProgress );
  875. }
  876. void CPropertyView::CreatePropertyToolBar()
  877. {
  878. m_wndPropertyToolBar.Create( CRect( 0,0,0,0 ),this,IDC_PROPERTY_TOOLBARSKIN );
  879. CSPPropertyGridItem * pCategoryApplication = m_wndPropertyToolBar.AddCategory( _T( "ToolBarSkin" ) );
  880. pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_TOOLBAR_NAME,NULL ) );
  881. pCategoryApplication->AddChildItem( new CSPPropertyGridItemNumber( IDS_STRING_TOOLBAR_ID,NULL ) );
  882. pCategoryApplication->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_TOOLBAR_IMAGEBACK ) );
  883. CSPPropertyGridItem * pItem = pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_TOOLBAR_ITEM,NULL ) );
  884. pItem->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_TOOLBAR_NORMAL ) );
  885. pItem->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_TOOLBAR_HOVER ) );
  886. pItem->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_TOOLBAR_PRESSED ) );
  887. pItem->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_TOOLBAR_DISABLED ) );
  888. pItem->Expand();
  889. pCategoryApplication->Expand();
  890. }
  891. void CPropertyView::SetToolBarSkin( CToolBarSkin * pToolbarSkin )
  892. {
  893. CSPPropertyGridItem * pItem = NULL;
  894. CSPPropertyGridItemNumber * pNumber = NULL;
  895. CSPPropertyGridItemImage * pImage = NULL;
  896. CSPPropertyGridItemText * pText = NULL;
  897. CSPPropertyGridItemFont * pFont = NULL;
  898. CSPPropertyGridItemBool * pBool = NULL;
  899. CSPPropertyGridItemColor * pColor = NULL;
  900. pItem = ( CSPPropertyGridItem * ) m_wndPropertyToolBar.FindItem( IDS_STRING_TOOLBAR_NAME );
  901. pItem->SetValue( pToolbarSkin->m_strName );
  902. pNumber = ( CSPPropertyGridItemNumber * ) m_wndPropertyToolBar.FindItem( IDS_STRING_TOOLBAR_ID );
  903. pNumber->SetNumber( pToolbarSkin->m_nCtlID );
  904. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyToolBar.FindItem( IDS_STRING_TOOLBAR_IMAGEBACK );
  905. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pToolbarSkin->m_imageBackground );
  906. pImage->SetValue( pToolbarSkin->m_imageBackground.strImageName );
  907. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  908. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyToolBar.FindItem( IDS_STRING_TOOLBAR_NORMAL );
  909. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pToolbarSkin->m_imageItemNormal );
  910. pImage->SetValue( pToolbarSkin->m_imageItemNormal.strImageName );
  911. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  912. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyToolBar.FindItem( IDS_STRING_TOOLBAR_HOVER );
  913. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pToolbarSkin->m_imageItemHover );
  914. pImage->SetValue( pToolbarSkin->m_imageItemHover.strImageName );
  915. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  916. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyToolBar.FindItem( IDS_STRING_TOOLBAR_PRESSED );
  917. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pToolbarSkin->m_imageItemPressed );
  918. pImage->SetValue( pToolbarSkin->m_imageItemPressed.strImageName );
  919. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  920. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyToolBar.FindItem( IDS_STRING_TOOLBAR_DISABLED );
  921. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pToolbarSkin->m_imageItemDisabled );
  922. pImage->SetValue( pToolbarSkin->m_imageItemDisabled.strImageName );
  923. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  924. }
  925. void CPropertyView::CreatePropertyStatusBar()
  926. {
  927. m_wndPropertyStatusBar.Create( CRect( 0,0,0,0 ),this,IDC_PROPERTY_STATUSBARSKIN );
  928. CSPPropertyGridItem * pCategoryApplication = m_wndPropertyStatusBar.AddCategory( _T( "StatusBarSkin" ) );
  929. pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_STATUSBAR_NAME,NULL ) );
  930. pCategoryApplication->AddChildItem( new CSPPropertyGridItemNumber( IDS_STRING_STATUSBAR_ID,NULL ) );
  931. pCategoryApplication->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_STATUSBAR_IMAGEBACK ) );
  932. pCategoryApplication->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_STATUSBAR_IMAGEITEM ) );
  933. pCategoryApplication->Expand();
  934. }
  935. void CPropertyView::SetStatusSkin( CStatusBarSkin * pStatusbarSkin )
  936. {
  937. CSPPropertyGridItem * pItem = NULL;
  938. CSPPropertyGridItemNumber * pNumber = NULL;
  939. CSPPropertyGridItemImage * pImage = NULL;
  940. CSPPropertyGridItemText * pText = NULL;
  941. CSPPropertyGridItemFont * pFont = NULL;
  942. CSPPropertyGridItemBool * pBool = NULL;
  943. CSPPropertyGridItemColor * pColor = NULL;
  944. pItem = ( CSPPropertyGridItem * ) m_wndPropertyStatusBar.FindItem( IDS_STRING_STATUSBAR_NAME );
  945. pItem->SetValue( pStatusbarSkin->m_strName );
  946. pNumber = ( CSPPropertyGridItemNumber * ) m_wndPropertyStatusBar.FindItem( IDS_STRING_STATUSBAR_ID );
  947. pNumber->SetNumber( pStatusbarSkin->m_nCtlID );
  948. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyStatusBar.FindItem( IDS_STRING_STATUSBAR_IMAGEBACK );
  949. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pStatusbarSkin->m_imageBackground );
  950. pImage->SetValue( pStatusbarSkin->m_imageBackground.strImageName );
  951. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  952. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyStatusBar.FindItem( IDS_STRING_STATUSBAR_IMAGEITEM );
  953. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pStatusbarSkin->m_imageItem );
  954. pImage->SetValue( pStatusbarSkin->m_imageItem.strImageName );
  955. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  956. }
  957. void CPropertyView::CreatePropertyTab()
  958. {
  959. m_wndPropertyTab.Create( CRect( 0,0,0,0 ),this,IDC_PROPERTY_TABSKIN );
  960. CSPPropertyGridItem * pCategoryApplication = m_wndPropertyTab.AddCategory( _T( "TabSkin" ) );
  961. pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_TAB_NAME,NULL ) );
  962. pCategoryApplication->AddChildItem( new CSPPropertyGridItemNumber( IDS_STRING_TAB_ID,NULL ) );
  963. pCategoryApplication->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_TAB_IMAGEBACK ) );
  964. pCategoryApplication->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_TAB_BORDER ) );
  965. CSPPropertyGridItem * pItem = pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_TAB,NULL ) );
  966. pItem->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_TABNORMAL ) );
  967. pItem->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_TABHOVER ) );
  968. pItem->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_TABPRESSED ) );
  969. pItem->Expand();
  970. pCategoryApplication->Expand();
  971. }
  972. void CPropertyView::SetTabSkin( CTabSkin * pTabSkin )
  973. {
  974. CSPPropertyGridItem * pItem = NULL;
  975. CSPPropertyGridItemNumber * pNumber = NULL;
  976. CSPPropertyGridItemImage * pImage = NULL;
  977. CSPPropertyGridItemText * pText = NULL;
  978. CSPPropertyGridItemFont * pFont = NULL;
  979. CSPPropertyGridItemBool * pBool = NULL;
  980. CSPPropertyGridItemColor * pColor = NULL;
  981. pItem = ( CSPPropertyGridItem * ) m_wndPropertyTab.FindItem( IDS_STRING_TAB_NAME );
  982. pItem->SetValue( pTabSkin->m_strName );
  983. pNumber = ( CSPPropertyGridItemNumber * ) m_wndPropertyTab.FindItem( IDS_STRING_TAB_ID );
  984. pNumber->SetNumber( pTabSkin->m_nCtlID );
  985. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyTab.FindItem( IDS_STRING_TAB_IMAGEBACK );
  986. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pTabSkin->m_imageBackground );
  987. pImage->SetValue( pTabSkin->m_imageBackground.strImageName );
  988. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  989. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyTab.FindItem( IDS_STRING_TAB_BORDER );
  990. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pTabSkin->m_imageBorder );
  991. pImage->SetValue( pTabSkin->m_imageBorder.strImageName );
  992. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  993. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyTab.FindItem( IDS_STRING_TABNORMAL );
  994. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pTabSkin->m_imageTabNormal );
  995. pImage->SetValue( pTabSkin->m_imageTabNormal.strImageName );
  996. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  997. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyTab.FindItem( IDS_STRING_TABHOVER );
  998. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pTabSkin->m_imageTabHover );
  999. pImage->SetValue( pTabSkin->m_imageTabHover.strImageName );
  1000. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  1001. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyTab.FindItem( IDS_STRING_TABPRESSED );
  1002. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pTabSkin->m_imageTabPressed );
  1003. pImage->SetValue( pTabSkin->m_imageTabPressed.strImageName );
  1004. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  1005. }
  1006. void CPropertyView::CreatePropertySlider()
  1007. {
  1008. m_wndPropertySlider.Create( CRect( 0,0,0,0 ),this,IDC_PROPERTY_SLIDERSKIN );
  1009. CSPPropertyGridItem * pCategoryApplication = m_wndPropertySlider.AddCategory( _T( "SliderSkin" ) );
  1010. pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_SLIDER_NAME,NULL ) );
  1011. pCategoryApplication->AddChildItem( new CSPPropertyGridItemNumber( IDS_STRING_SLIDER_ID,NULL ) );
  1012. pCategoryApplication->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SLIDER_IMAGEBACK ) );
  1013. pCategoryApplication->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SLIDER_IMAGECHANNEL ) );
  1014. CSPPropertyGridItem * pThumb = pCategoryApplication->AddChildItem( new CSPPropertyGridItem( IDS_STRING_SLIDER_THUMB,NULL ) );
  1015. pThumb->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SLIDER_THUMBVERT ) );
  1016. pThumb->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SLIDER_THUMBHORZ ) );
  1017. pThumb->Expand();
  1018. pCategoryApplication->Expand();
  1019. }
  1020. void CPropertyView::SetSliderSkin( CSliderSkin * pSliderSkin )
  1021. {
  1022. CSPPropertyGridItem * pItem = NULL;
  1023. CSPPropertyGridItemNumber * pNumber = NULL;
  1024. CSPPropertyGridItemImage * pImage = NULL;
  1025. CSPPropertyGridItemText * pText = NULL;
  1026. CSPPropertyGridItemFont * pFont = NULL;
  1027. CSPPropertyGridItemBool * pBool = NULL;
  1028. CSPPropertyGridItemColor * pColor = NULL;
  1029. pItem = ( CSPPropertyGridItem * ) m_wndPropertySlider.FindItem( IDS_STRING_SLIDER_NAME );
  1030. pItem->SetValue( pSliderSkin->m_strName );
  1031. pNumber = ( CSPPropertyGridItemNumber * ) m_wndPropertySlider.FindItem( IDS_STRING_SLIDER_ID );
  1032. pNumber->SetNumber( pSliderSkin->m_nCtlID );
  1033. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertySlider.FindItem( IDS_STRING_SLIDER_IMAGEBACK );
  1034. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pSliderSkin->m_imageBackground );
  1035. pImage->SetValue( pSliderSkin->m_imageBackground.strImageName );
  1036. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  1037. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertySlider.FindItem( IDS_STRING_SLIDER_IMAGECHANNEL );
  1038. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pSliderSkin->m_imageChannel );
  1039. pImage->SetValue( pSliderSkin->m_imageChannel.strImageName );
  1040. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  1041. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertySlider.FindItem( IDS_STRING_SLIDER_THUMBVERT );
  1042. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pSliderSkin->m_imageThumbVert );
  1043. pImage->SetValue( pSliderSkin->m_imageThumbVert.strImageName );
  1044. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  1045. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertySlider.FindItem( IDS_STRING_SLIDER_THUMBHORZ );
  1046. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pSliderSkin->m_imageThumbHorz );
  1047. pImage->SetValue( pSliderSkin->m_imageThumbHorz.strImageName );
  1048. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  1049. }
  1050. void CPropertyView::CreatePropertyWindow()
  1051. {
  1052. m_wndPropertyWindow.Create( CRect( 0,0,0,0 ),this,IDC_PROPERTY_WINDOWSKIN );
  1053. CSPPropertyGridItem * pCategoryMainFrame = m_wndPropertyWindow.AddCategory( _T( "MainFrame" ) );
  1054. pCategoryMainFrame->AddChildItem( new CSPPropertyGridItemRect( IDS_STRING_WINDOW_POSITION,CRect( 0,0,0,0 ) ) );
  1055. CSPPropertyGridItem * pCategoryActiveFrame;
  1056. pCategoryActiveFrame = pCategoryMainFrame->AddChildItem( new CSPPropertyGridItem( IDS_STRING_WINDOW_ACTIVEFRAME ) );
  1057. pCategoryActiveFrame->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_WINDOW_ACTIVEFRAMELEFT ) );
  1058. pCategoryActiveFrame->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_WINDOW_ACTIVEFRAMETOP ) );
  1059. pCategoryActiveFrame->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_WINDOW_ACTIVEFRAMERIGHT ) );
  1060. pCategoryActiveFrame->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_WINDOW_ACTIVEFRAMEBOTTOM ) );
  1061. pCategoryActiveFrame->Expand();
  1062. CSPPropertyGridItem * pCategoryInactiveFrame;
  1063. pCategoryInactiveFrame = pCategoryMainFrame->AddChildItem( new CSPPropertyGridItem( IDS_STRING_WINDOW_INACTIVEFRAME ) );
  1064. pCategoryInactiveFrame->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_WINDOW_INACTIVEFRAMELEFT ) );
  1065. pCategoryInactiveFrame->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_WINDOW_INACTIVEFRAMETOP ) );
  1066. pCategoryInactiveFrame->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_WINDOW_INACTIVEFRAMERIGHT ) );
  1067. pCategoryInactiveFrame->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_WINDOW_INACTIVEFRAMEBOTTOM ) );
  1068. pCategoryInactiveFrame->Expand();
  1069. CSPPropertyGridItem * pCategoryMenubar;
  1070. LOGFONT font;
  1071. ::ZeroMemory( &font,sizeof( font ) );
  1072. pCategoryMenubar = pCategoryMainFrame->AddChildItem( new CSPPropertyGridItem( IDS_STRING_WINDOW_MENUBAR ) );
  1073. pCategoryMenubar->AddChildItem( new CSPPropertyGridItemFont( IDS_STRING_WINDOW_MENUBARFONT,font ) );
  1074. pCategoryMenubar->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_WINDOW_MENUBARBACK ) );
  1075. pCategoryMenubar->AddChildItem( new CSPPropertyGridItemColor( IDS_STRING_WINDOW_MENUBARACTIVECOLOR ) );
  1076. pCategoryMenubar->AddChildItem( new CSPPropertyGridItemColor( IDS_STRING_WINDOW_MENUBARPRESSEDCOLOR ) );
  1077. pCategoryMenubar->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_WINDOW_MENUBARIMAGEACITVE ) );
  1078. pCategoryMenubar->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_WINDOW_MENUBARIMAGEPRESSED ) );
  1079. pCategoryMenubar->AddChildItem( new CSPPropertyGridItemColor( IDS_STRING_WINDOW_MENUBARGRAYTEXT ) );
  1080. pCategoryMenubar->AddChildItem( new CSPPropertyGridItemColor( IDS_STRING_WINDOW_MENUBARNORMALTEXT ) );
  1081. pCategoryMenubar->AddChildItem( new CSPPropertyGridItemColor( IDS_STRING_WINDOW_MENUBARPRESSEDTEXT ) );
  1082. pCategoryMenubar->AddChildItem( new CSPPropertyGridItemColor( IDS_STRING_WINDOW_MENUBARACTIVETEXTCOLOR ) );
  1083. pCategoryMenubar->Expand();
  1084. pCategoryMainFrame->AddChildItem( new CSPPropertyGridItemBool( IDS_STRING_WINDOW_SKINCLIENT ) );
  1085. pCategoryMainFrame->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_WINDOW_BACKGROUND ) );
  1086. pCategoryMainFrame->AddChildItem( new CSPPropertyGridItemColor( IDS_STRING_WINDOW_BACKCOLOR ) );
  1087. pCategoryMainFrame->AddChildItem( new CSPPropertyGridItemRect( IDS_STRING_WINDOW_MARGIN,CRect( 0,0,0,0 ) ) );
  1088. pCategoryMainFrame->Expand();
  1089. }
  1090. void CPropertyView::SetWindowSkin( CWindowSkin * pWinSkin )
  1091. {
  1092. if ( !pWinSkin )
  1093. {
  1094. return;
  1095. }
  1096. CSPPropertyGridItemRect * pItemRect = ( CSPPropertyGridItemRect * ) m_wndPropertyWindow.FindItem( IDS_STRING_WINDOW_POSITION );
  1097. pItemRect->SetRect( pWinSkin->GetPosition() );
  1098. pItemRect = ( CSPPropertyGridItemRect * ) m_wndPropertyWindow.FindItem( IDS_STRING_WINDOW_MARGIN );
  1099. pItemRect->SetRect( pWinSkin->GetMargins() );
  1100. CSPPropertyGridItemImage * pImage = NULL;
  1101. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyWindow.FindItem( IDS_STRING_WINDOW_ACTIVEFRAMELEFT );
  1102. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pWinSkin->m_frameActive.imageLeft );
  1103. pImage->SetValue( pWinSkin->m_frameActive.imageLeft.strImageName );
  1104. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  1105. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyWindow.FindItem( IDS_STRING_WINDOW_ACTIVEFRAMETOP );
  1106. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pWinSkin->m_frameActive.imageTop );
  1107. pImage->SetValue( pWinSkin->m_frameActive.imageTop.strImageName );
  1108. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  1109. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyWindow.FindItem( IDS_STRING_WINDOW_ACTIVEFRAMERIGHT );
  1110. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pWinSkin->m_frameActive.imageRight );
  1111. pImage->SetValue( pWinSkin->m_frameActive.imageRight.strImageName );
  1112. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  1113. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyWindow.FindItem( IDS_STRING_WINDOW_ACTIVEFRAMEBOTTOM );
  1114. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pWinSkin->m_frameActive.imageBottom );
  1115. pImage->SetValue( pWinSkin->m_frameActive.imageBottom.strImageName );
  1116. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  1117. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyWindow.FindItem( IDS_STRING_WINDOW_INACTIVEFRAMELEFT );
  1118. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pWinSkin->m_frameInactive.imageLeft );
  1119. pImage->SetValue( pWinSkin->m_frameInactive.imageLeft.strImageName );
  1120. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  1121. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyWindow.FindItem( IDS_STRING_WINDOW_INACTIVEFRAMETOP );
  1122. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pWinSkin->m_frameInactive.imageTop );
  1123. pImage->SetValue( pWinSkin->m_frameInactive.imageTop.strImageName );
  1124. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  1125. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyWindow.FindItem( IDS_STRING_WINDOW_INACTIVEFRAMERIGHT );
  1126. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pWinSkin->m_frameInactive.imageRight );
  1127. pImage->SetValue( pWinSkin->m_frameInactive.imageRight.strImageName );
  1128. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  1129. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyWindow.FindItem( IDS_STRING_WINDOW_INACTIVEFRAMEBOTTOM );
  1130. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pWinSkin->m_frameInactive.imageBottom );
  1131. pImage->SetValue( pWinSkin->m_frameInactive.imageBottom.strImageName );
  1132. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  1133. CSPPropertyGridItemFont * pFont = NULL;
  1134. pFont = ( CSPPropertyGridItemFont * ) m_wndPropertyWindow.FindItem( IDS_STRING_WINDOW_MENUBARFONT );
  1135. pFont->SetFont( pWinSkin->m_skinMenuBar.fontMenu );
  1136. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyWindow.FindItem( IDS_STRING_WINDOW_MENUBARBACK );
  1137. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pWinSkin->m_skinMenuBar.imageBackground );
  1138. pImage->SetValue( pWinSkin->m_skinMenuBar.imageBackground.strImageName );
  1139. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  1140. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyWindow.FindItem( IDS_STRING_WINDOW_MENUBARIMAGEACITVE );
  1141. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pWinSkin->m_skinMenuBar.imageActive );
  1142. pImage->SetValue( pWinSkin->m_skinMenuBar.imageActive.strImageName );
  1143. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  1144. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyWindow.FindItem( IDS_STRING_WINDOW_MENUBARIMAGEPRESSED );
  1145. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pWinSkin->m_skinMenuBar.imagePressed );
  1146. pImage->SetValue( pWinSkin->m_skinMenuBar.imagePressed.strImageName );
  1147. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  1148. CSPPropertyGridItemColor * pColor = NULL;
  1149. pColor = ( CSPPropertyGridItemColor * ) m_wndPropertyWindow.FindItem( IDS_STRING_WINDOW_MENUBARACTIVECOLOR );
  1150. pColor->SetColor( pWinSkin->m_skinMenuBar.colorActive );
  1151. pColor = ( CSPPropertyGridItemColor * ) m_wndPropertyWindow.FindItem( IDS_STRING_WINDOW_MENUBARPRESSEDCOLOR );
  1152. pColor->SetColor( pWinSkin->m_skinMenuBar.colorPressed );
  1153. pColor = ( CSPPropertyGridItemColor * ) m_wndPropertyWindow.FindItem( IDS_STRING_WINDOW_MENUBARGRAYTEXT );
  1154. pColor->SetColor( pWinSkin->m_skinMenuBar.colorGrayText );
  1155. pColor = ( CSPPropertyGridItemColor * ) m_wndPropertyWindow.FindItem( IDS_STRING_WINDOW_MENUBARNORMALTEXT );
  1156. pColor->SetColor( pWinSkin->m_skinMenuBar.colorNormalText );
  1157. pColor = ( CSPPropertyGridItemColor * ) m_wndPropertyWindow.FindItem( IDS_STRING_WINDOW_MENUBARPRESSEDTEXT );
  1158. pColor->SetColor( pWinSkin->m_skinMenuBar.colorPressedText );
  1159. pColor = ( CSPPropertyGridItemColor * ) m_wndPropertyWindow.FindItem( IDS_STRING_WINDOW_MENUBARACTIVETEXTCOLOR );
  1160. pColor->SetColor( pWinSkin->m_skinMenuBar.colorActiveText );
  1161. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyWindow.FindItem( IDS_STRING_WINDOW_BACKGROUND );
  1162. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pWinSkin->m_imageBackground );
  1163. pImage->SetValue( pWinSkin->m_imageBackground.strImageName );
  1164. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  1165. pColor = ( CSPPropertyGridItemColor * ) m_wndPropertyWindow.FindItem( IDS_STRING_WINDOW_BACKCOLOR );
  1166. pColor->SetColor( pWinSkin->m_colorBack );
  1167. CSPPropertyGridItemBool * pBool = NULL;
  1168. pBool = ( CSPPropertyGridItemBool * ) m_wndPropertyWindow.FindItem( IDS_STRING_WINDOW_SKINCLIENT );
  1169. pBool->SetBool( pWinSkin->m_bSkinClient );
  1170. }
  1171. void CPropertyView::CreatePropertyWindButton()
  1172. {
  1173. int i ;
  1174. m_wndPropertyWinButton.Create( CRect( 0,0,0,0 ),this,IDC_PROPERTY_WINBUTTONSKIN );
  1175. CSPPropertyGridItem * pCategoryMainFrame = m_wndPropertyWinButton.AddCategory( _T( "WinButton" ) );
  1176. pCategoryMainFrame->AddChildItem( new CSPPropertyGridItem( IDS_STRING_WINBUTTON_NAME ) );
  1177. pCategoryMainFrame->AddChildItem( new CSPPropertyGridItemRect( IDS_STRING_WINBUTTON_VISUAL,CRect( 0,0,0,0 ) ) );
  1178. CSPPropertyGridItem * pButtonType = pCategoryMainFrame->AddChildItem( new CSPPropertyGridItem( IDS_STRING_WINBUTTON_BUTTONTYPE ) );
  1179. for ( i = 0 ; i < keButtonTypeSize ; i++ )
  1180. {
  1181. pButtonType->GetConstraints()->AddConstraint( winButtonType[i] );
  1182. }
  1183. pButtonType->GetConstraints()->SetCurrent( 0 );
  1184. pButtonType->SetFlags( SPGridItemHasComboButton | SPGridItemHasEdit );
  1185. pButtonType->SetConstraintEdit( FALSE );
  1186. pButtonType = pCategoryMainFrame->AddChildItem( new CSPPropertyGridItem( IDS_STRING_WINBUTTON_ANCHOR ) );
  1187. for ( i = 0 ; i < keAnchorSize ; i++ )
  1188. {
  1189. pButtonType->GetConstraints()->AddConstraint( AnchorType[i] );
  1190. }
  1191. pButtonType->GetConstraints()->SetCurrent( 0 );
  1192. pButtonType->SetFlags( SPGridItemHasComboButton | SPGridItemHasEdit );
  1193. pButtonType->SetConstraintEdit( FALSE );
  1194. pCategoryMainFrame->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_WINBUTTON_STATENORMAL ) );
  1195. pCategoryMainFrame->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_WINBUTTON_STATEHOVER ) );
  1196. pCategoryMainFrame->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_WINBUTTON_STATEPRESSED ) );
  1197. pCategoryMainFrame->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_WINBUTTON_STATEDIABLED ) );
  1198. pCategoryMainFrame->Expand();
  1199. }
  1200. void CPropertyView::SetWinButtonSkin( CWinButtonSkin * pWinButton )
  1201. {
  1202. CSPPropertyGridItem * pItem = NULL;
  1203. pItem = m_wndPropertyWinButton.FindItem( IDS_STRING_WINBUTTON_NAME );
  1204. if ( pItem )
  1205. {
  1206. pItem->SetValue( pWinButton->GetName() );
  1207. }
  1208. pItem = m_wndPropertyWinButton.FindItem( IDS_STRING_WINBUTTON_VISUAL );
  1209. if ( pItem )
  1210. {
  1211. ( ( CSPPropertyGridItemRect * ) pItem )->SetRect( pWinButton->GetPosition() );
  1212. }
  1213. pItem = m_wndPropertyWinButton.FindItem( IDS_STRING_WINBUTTON_BUTTONTYPE );
  1214. if ( pItem )
  1215. {
  1216. pItem->SetValue( winButtonType[pWinButton->GetWinButtonType()] );
  1217. pItem->GetConstraints()->SetCurrent( pWinButton->GetWinButtonType() );
  1218. }
  1219. pItem = m_wndPropertyWinButton.FindItem( IDS_STRING_WINBUTTON_ANCHOR );
  1220. if ( pItem )
  1221. {
  1222. pItem->SetValue( AnchorType[pWinButton->GetAnchors()] );
  1223. pItem->GetConstraints()->SetCurrent( pWinButton->GetAnchors() );
  1224. }
  1225. CSPPropertyGridItemImage * pImage = NULL;
  1226. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyWinButton.FindItem( IDS_STRING_WINBUTTON_STATENORMAL );
  1227. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pWinButton->m_iamgeButton[0] );
  1228. pImage->SetValue( pWinButton->m_iamgeButton[0].strImageName );
  1229. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  1230. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyWinButton.FindItem( IDS_STRING_WINBUTTON_STATEHOVER );
  1231. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pWinButton->m_iamgeButton[1] );
  1232. pImage->SetValue( pWinButton->m_iamgeButton[1].strImageName );
  1233. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  1234. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyWinButton.FindItem( IDS_STRING_WINBUTTON_STATEPRESSED );
  1235. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pWinButton->m_iamgeButton[2] );
  1236. pImage->SetValue( pWinButton->m_iamgeButton[2].strImageName );
  1237. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  1238. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyWinButton.FindItem( IDS_STRING_WINBUTTON_STATEDIABLED );
  1239. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pWinButton->m_iamgeButton[3] );
  1240. pImage->SetValue( pWinButton->m_iamgeButton[3].strImageName );
  1241. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  1242. }
  1243. void CPropertyView::CreatePropertyScrollBar()
  1244. {
  1245. m_wndPropertyScrollBar.Create( CRect( 0,0,0,0 ),this,IDC_PROPERTY_SCROLLBARSKIN );
  1246. CSPPropertyGridItem * pCategoryMainFrame = m_wndPropertyScrollBar.AddCategory( _T( "ScrollBar" ) );
  1247. pCategoryMainFrame->AddChildItem( new CSPPropertyGridItem( IDS_STRING_SCROLL_NAME ) );
  1248. CSPPropertyGridItem * pHScrollBar = pCategoryMainFrame->AddChildItem( new CSPPropertyGridItem( IDS_STRING_SCROLLBAR_HOR ) );
  1249. CSPPropertyGridItem * pHArrowLeft = pHScrollBar->AddChildItem( new CSPPropertyGridItem( IDS_STRING_SCROLLBAR_HARROWLEFT ) );
  1250. pHArrowLeft->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SCROLLBAR_HARROWLEFTNOR ) );
  1251. pHArrowLeft->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SCROLLBAR_HARROWLEFTHOVER ) );
  1252. pHArrowLeft->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SCROLLBAR_HARROWLEFTPRESSED ) );
  1253. pHArrowLeft->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SCROLLBAR_HARROWLEFTDISABLED ) );
  1254. pHArrowLeft->Expand();
  1255. CSPPropertyGridItem * pHArrowRight = pHScrollBar->AddChildItem( new CSPPropertyGridItem( IDS_STRING_SCROLLBAR_HARROWRight ) );
  1256. pHArrowRight->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SCROLLBAR_HARROWRIGHTNOR ) );
  1257. pHArrowRight->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SCROLLBAR_HARROWRIGHTHOVER ) );
  1258. pHArrowRight->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SCROLLBAR_HARROWRIGHTPRESSED ) );
  1259. pHArrowRight->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SCROLLBAR_HARROWRIGHTDISABLED ) );
  1260. pHArrowRight->Expand();
  1261. CSPPropertyGridItem * pHArrowThumb = pHScrollBar->AddChildItem( new CSPPropertyGridItem( IDS_STRING_SCROLLBAR_HTHUMB ) );
  1262. pHArrowThumb->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SCROLLBAR_HTHUMBNOR ) );
  1263. pHArrowThumb->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SCROLLBAR_HTHUMBHOVER ) );
  1264. pHArrowThumb->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SCROLLBAR_HTHUMBPRESSED ) );
  1265. pHArrowThumb->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SCROLLBAR_HTHUMBDISABLED ) );
  1266. pHArrowThumb->Expand();
  1267. pHScrollBar->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SCROLLBAR_HBACKGROUND ) );
  1268. pHScrollBar->Expand();
  1269. CSPPropertyGridItem * pVScrollBar = pCategoryMainFrame->AddChildItem( new CSPPropertyGridItem( IDS_STRING_SCROLLBAR_VER ) );
  1270. CSPPropertyGridItem * pVArrowTop = pVScrollBar->AddChildItem( new CSPPropertyGridItem( IDS_STRING_SCROLLBAR_VARROWTOP ) );
  1271. pVArrowTop->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SCROLLBAR_VARROWTOPNORMAL ) );
  1272. pVArrowTop->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SCROLLBAR_VARROWTOPHOVER ) );
  1273. pVArrowTop->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SCROLLBAR_VARROWTOPPRESSED ) );
  1274. pVArrowTop->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SCROLLBAR_VARROWTOPDISABLED ) );
  1275. pVArrowTop->Expand();
  1276. CSPPropertyGridItem * pVArrowBottom = pVScrollBar->AddChildItem( new CSPPropertyGridItem( IDS_STRING_SCROLLBAR_VARROWBOTTOM ) );
  1277. pVArrowBottom->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SCROLLBAR_VARROWBOOTOMNORMAL ) );
  1278. pVArrowBottom->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SCROLLBAR_VARROWBOOTOMHOVER ) );
  1279. pVArrowBottom->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SCROLLBAR_VARROWBOOTOMPRESSED ) );
  1280. pVArrowBottom->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SCROLLBAR_VARROWBOOTOMDISABLED ) );
  1281. pVArrowBottom->Expand();
  1282. CSPPropertyGridItem * pVArrowThumb = pVScrollBar->AddChildItem( new CSPPropertyGridItem( IDS_STRING_SCROLLBAR_VTHUMB ) );
  1283. pVArrowThumb->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SCROLLBAR_VTHUMBNORMAL ) );
  1284. pVArrowThumb->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SCROLLBAR_VTHUMBHOVER ) );
  1285. pVArrowThumb->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SCROLLBAR_VTHUMBPRESSED ) );
  1286. pVArrowThumb->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SCROLLBAR_VTHUMBDISABLED ) );
  1287. pVArrowThumb->Expand();
  1288. pVScrollBar->AddChildItem( new CSPPropertyGridItemImage( IDS_STRING_SCROLLBAR_VBACKGROUND ) );
  1289. pVScrollBar->Expand();
  1290. pCategoryMainFrame->Expand();
  1291. }
  1292. void CPropertyView::SetScroolBarSkin( CScrollBarSkin * pScrollBar )
  1293. {
  1294. CSPPropertyGridItem * pItem = NULL;
  1295. pItem = m_wndPropertyScrollBar.FindItem( IDS_STRING_SCROLL_NAME );
  1296. if ( pItem )
  1297. {
  1298. pItem->SetValue( pScrollBar->GetName() );
  1299. }
  1300. CSPPropertyGridItemImage * pImage = NULL;
  1301. //hor left
  1302. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyScrollBar.FindItem( IDS_STRING_SCROLLBAR_HARROWLEFTNOR );
  1303. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pScrollBar->m_skinHScrollBar.imageArrow1[0] );
  1304. pImage->SetValue( pScrollBar->m_skinHScrollBar.imageArrow1[0].strImageName );
  1305. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  1306. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyScrollBar.FindItem( IDS_STRING_SCROLLBAR_HARROWLEFTHOVER );
  1307. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pScrollBar->m_skinHScrollBar.imageArrow1[1] );
  1308. pImage->SetValue( pScrollBar->m_skinHScrollBar.imageArrow1[1].strImageName );
  1309. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  1310. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyScrollBar.FindItem( IDS_STRING_SCROLLBAR_HARROWLEFTPRESSED );
  1311. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pScrollBar->m_skinHScrollBar.imageArrow1[2] );
  1312. pImage->SetValue( pScrollBar->m_skinHScrollBar.imageArrow1[2].strImageName );
  1313. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  1314. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyScrollBar.FindItem( IDS_STRING_SCROLLBAR_HARROWLEFTDISABLED );
  1315. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pScrollBar->m_skinHScrollBar.imageArrow1[3] );
  1316. pImage->SetValue( pScrollBar->m_skinHScrollBar.imageArrow1[3].strImageName );
  1317. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  1318. //hor right
  1319. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyScrollBar.FindItem( IDS_STRING_SCROLLBAR_HARROWRIGHTNOR );
  1320. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pScrollBar->m_skinHScrollBar.imageArrow2[0] );
  1321. pImage->SetValue( pScrollBar->m_skinHScrollBar.imageArrow2[0].strImageName );
  1322. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  1323. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyScrollBar.FindItem( IDS_STRING_SCROLLBAR_HARROWRIGHTHOVER );
  1324. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pScrollBar->m_skinHScrollBar.imageArrow2[1] );
  1325. pImage->SetValue( pScrollBar->m_skinHScrollBar.imageArrow2[1].strImageName );
  1326. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  1327. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyScrollBar.FindItem( IDS_STRING_SCROLLBAR_HARROWRIGHTPRESSED );
  1328. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pScrollBar->m_skinHScrollBar.imageArrow2[2] );
  1329. pImage->SetValue( pScrollBar->m_skinHScrollBar.imageArrow2[2].strImageName );
  1330. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  1331. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyScrollBar.FindItem( IDS_STRING_SCROLLBAR_HARROWRIGHTDISABLED );
  1332. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pScrollBar->m_skinHScrollBar.imageArrow2[3] );
  1333. pImage->SetValue( pScrollBar->m_skinHScrollBar.imageArrow2[3].strImageName );
  1334. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  1335. //hor thumb
  1336. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyScrollBar.FindItem( IDS_STRING_SCROLLBAR_HTHUMBNOR );
  1337. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pScrollBar->m_skinHScrollBar.imageThurmb[0] );
  1338. pImage->SetValue( pScrollBar->m_skinHScrollBar.imageThurmb[0].strImageName );
  1339. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  1340. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyScrollBar.FindItem( IDS_STRING_SCROLLBAR_HTHUMBHOVER );
  1341. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pScrollBar->m_skinHScrollBar.imageThurmb[1] );
  1342. pImage->SetValue( pScrollBar->m_skinHScrollBar.imageThurmb[1].strImageName );
  1343. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  1344. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyScrollBar.FindItem( IDS_STRING_SCROLLBAR_HTHUMBPRESSED );
  1345. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pScrollBar->m_skinHScrollBar.imageThurmb[2] );
  1346. pImage->SetValue( pScrollBar->m_skinHScrollBar.imageThurmb[2].strImageName );
  1347. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  1348. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyScrollBar.FindItem( IDS_STRING_SCROLLBAR_HTHUMBDISABLED );
  1349. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pScrollBar->m_skinHScrollBar.imageThurmb[3] );
  1350. pImage->SetValue( pScrollBar->m_skinHScrollBar.imageThurmb[3].strImageName );
  1351. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  1352. //hor background
  1353. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyScrollBar.FindItem( IDS_STRING_SCROLLBAR_HBACKGROUND );
  1354. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pScrollBar->m_skinHScrollBar.imageScrollBar );
  1355. pImage->SetValue( pScrollBar->m_skinHScrollBar.imageScrollBar.strImageName );
  1356. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  1357. //ver top
  1358. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyScrollBar.FindItem( IDS_STRING_SCROLLBAR_VARROWTOPNORMAL );
  1359. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pScrollBar->m_skinVScrollBar.imageArrow1[0] );
  1360. pImage->SetValue( pScrollBar->m_skinVScrollBar.imageArrow1[0].strImageName );
  1361. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  1362. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyScrollBar.FindItem( IDS_STRING_SCROLLBAR_VARROWTOPHOVER );
  1363. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pScrollBar->m_skinVScrollBar.imageArrow1[1] );
  1364. pImage->SetValue( pScrollBar->m_skinVScrollBar.imageArrow1[1].strImageName );
  1365. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  1366. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyScrollBar.FindItem( IDS_STRING_SCROLLBAR_VARROWTOPPRESSED );
  1367. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pScrollBar->m_skinVScrollBar.imageArrow1[2] );
  1368. pImage->SetValue( pScrollBar->m_skinVScrollBar.imageArrow1[2].strImageName );
  1369. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  1370. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyScrollBar.FindItem( IDS_STRING_SCROLLBAR_VARROWTOPDISABLED );
  1371. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pScrollBar->m_skinVScrollBar.imageArrow1[3] );
  1372. pImage->SetValue( pScrollBar->m_skinVScrollBar.imageArrow1[3].strImageName );
  1373. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  1374. //ver bottom
  1375. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyScrollBar.FindItem( IDS_STRING_SCROLLBAR_VARROWBOOTOMNORMAL );
  1376. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pScrollBar->m_skinVScrollBar.imageArrow2[0] );
  1377. pImage->SetValue( pScrollBar->m_skinVScrollBar.imageArrow2[0].strImageName );
  1378. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  1379. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyScrollBar.FindItem( IDS_STRING_SCROLLBAR_VARROWBOOTOMHOVER );
  1380. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pScrollBar->m_skinVScrollBar.imageArrow2[1] );
  1381. pImage->SetValue( pScrollBar->m_skinVScrollBar.imageArrow2[1].strImageName );
  1382. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  1383. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyScrollBar.FindItem( IDS_STRING_SCROLLBAR_VARROWBOOTOMPRESSED );
  1384. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pScrollBar->m_skinVScrollBar.imageArrow2[2] );
  1385. pImage->SetValue( pScrollBar->m_skinVScrollBar.imageArrow2[2].strImageName );
  1386. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  1387. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyScrollBar.FindItem( IDS_STRING_SCROLLBAR_VARROWBOOTOMDISABLED );
  1388. pImage->m_dlgImage.m_wndImage.m_pImageRect = &( pScrollBar->m_skinVScrollBar.imageArrow2[3] );
  1389. pImage->SetValue( pScrollBar->m_skinVScrollBar.imageArrow2[3].strImageName );
  1390. pImage->m_dlgImage.m_wndImage.m_bSection = FALSE;
  1391. //ver thumb
  1392. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyScrollBar.FindItem( IDS_STRING_SCROLLBAR_VTHUMBNORMAL );
  1393. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pScrollBar->m_skinVScrollBar.imageThurmb[0] );
  1394. pImage->SetValue( pScrollBar->m_skinVScrollBar.imageThurmb[0].strImageName );
  1395. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  1396. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyScrollBar.FindItem( IDS_STRING_SCROLLBAR_VTHUMBHOVER );
  1397. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pScrollBar->m_skinVScrollBar.imageThurmb[1] );
  1398. pImage->SetValue( pScrollBar->m_skinVScrollBar.imageThurmb[1].strImageName );
  1399. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  1400. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyScrollBar.FindItem( IDS_STRING_SCROLLBAR_VTHUMBPRESSED );
  1401. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pScrollBar->m_skinVScrollBar.imageThurmb[2] );
  1402. pImage->SetValue( pScrollBar->m_skinVScrollBar.imageThurmb[2].strImageName );
  1403. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  1404. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyScrollBar.FindItem( IDS_STRING_SCROLLBAR_VTHUMBDISABLED );
  1405. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pScrollBar->m_skinVScrollBar.imageThurmb[3] );
  1406. pImage->SetValue( pScrollBar->m_skinVScrollBar.imageThurmb[3].strImageName );
  1407. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  1408. //hor background
  1409. pImage = ( CSPPropertyGridItemImage * ) m_wndPropertyScrollBar.FindItem( IDS_STRING_SCROLLBAR_VBACKGROUND );
  1410. pImage->m_dlgImage.m_wndImage.m_pImageSection = &( pScrollBar->m_skinVScrollBar.imageScrollBar );
  1411. pImage->SetValue( pScrollBar->m_skinVScrollBar.imageScrollBar.strImageName );
  1412. pImage->m_dlgImage.m_wndImage.m_bSection = TRUE;
  1413. }
  1414. // CPropertyView drawing
  1415. void CPropertyView::OnDraw( CDC * pDC )
  1416. {
  1417. CDocument * pDoc = GetDocument();
  1418. // TODO: add draw code here
  1419. m_wndPropertyWindow.Refresh();
  1420. m_wndPropertyApplication.Refresh();
  1421. m_wndPropertyWinButton.Refresh();
  1422. m_wndPropertyScrollBar.Refresh();
  1423. m_wndPropertyButton.Refresh();
  1424. m_wndPropertyRadio.Refresh();
  1425. m_wndPropertyCheckBox.Refresh();
  1426. m_wndPropertyGroupBox.Refresh();
  1427. m_wndPropertyEdit.Refresh();
  1428. m_wndPropertyStatic.Refresh();
  1429. m_wndPropertyCheckBox.Refresh();
  1430. }
  1431. // CPropertyView message handlers
  1432. int CPropertyView::OnCreate( LPCREATESTRUCT lpCreateStruct )
  1433. {
  1434. if ( CView::OnCreate( lpCreateStruct ) == -1 )
  1435. {
  1436. return -1;
  1437. }
  1438. // TODO: Add your specialized creation code here
  1439. CRect rtClient;
  1440. GetClientRect( &rtClient );
  1441. //CreatePropertyApplication(NULL);
  1442. CreatePropertyWindow();
  1443. CreatePropertyApplication( NULL );
  1444. CreatePropertyWindButton();
  1445. CreatePropertyScrollBar();
  1446. CreatePropertyButton();
  1447. CreatePropertyRadio();
  1448. CreatePropertyCheckBox();
  1449. CreatePropertyGroupBox();
  1450. CreatePropertyEdit();
  1451. CreatePropertyComboBox();
  1452. CreatePropertyStatic();
  1453. CreatePropertyHeader();
  1454. CreatePropertySpin();
  1455. CreatePropertyToolBar();
  1456. CreatePropertyStatusBar();
  1457. CreatePropertySlider();
  1458. CreatePropertyListBox();
  1459. CreatePropertyPopupMenu();
  1460. CreatePropertyProgress();
  1461. CreatePropertyTab();
  1462. return 0;
  1463. }
  1464. void CPropertyView::OnSize( UINT nType , int cx , int cy )
  1465. {
  1466. CView::OnSize( nType,cx,cy );
  1467. m_wndPropertyWindow.MoveWindow( 0,0,cx,cy,TRUE );
  1468. m_wndPropertyApplication.MoveWindow( 0,0,cx,cy,TRUE );
  1469. m_wndPropertyWinButton.MoveWindow( 0,0,cx,cy,TRUE );
  1470. m_wndPropertyScrollBar.MoveWindow( 0,0,cx,cy,TRUE );
  1471. m_wndPropertyButton.MoveWindow( 0,0,cx,cy,TRUE );
  1472. m_wndPropertyRadio.MoveWindow( 0,0,cx,cy,TRUE );
  1473. m_wndPropertyCheckBox.MoveWindow( 0,0,cx,cy,TRUE );
  1474. m_wndPropertyGroupBox.MoveWindow( 0,0,cx,cy,TRUE );
  1475. m_wndPropertyEdit.MoveWindow( 0,0,cx,cy,TRUE );
  1476. m_wndPropertyStatic.MoveWindow( 0,0,cx,cy,TRUE );
  1477. m_wndPropertyComboBox.MoveWindow( 0,0,cx,cy,TRUE );
  1478. m_wndPropertyListBox.MoveWindow( 0,0,cx,cy,TRUE );
  1479. m_wndPropertyPopupMenu.MoveWindow( 0,0,cx,cy,TRUE );
  1480. m_wndPropertySpin.MoveWindow( 0,0,cx,cy,TRUE );
  1481. m_wndPropertyProgress.MoveWindow( 0,0,cx,cy,TRUE );
  1482. m_wndPropertyHeader.MoveWindow( 0,0,cx,cy,TRUE );
  1483. m_wndPropertySlider.MoveWindow( 0,0,cx,cy,TRUE );
  1484. m_wndPropertyTab.MoveWindow( 0,0,cx,cy,TRUE );
  1485. m_wndPropertyStatusBar.MoveWindow( 0,0,cx,cy,TRUE );
  1486. m_wndPropertyToolBar.MoveWindow( 0,0,cx,cy,TRUE );
  1487. // OnUpdate(NULL,0,NULL);
  1488. }
  1489. void CPropertyView::OnUpdate( CView* /*pSender*/ , LPARAM /*lHint*/ , CObject* /*pHint*/ )
  1490. {
  1491. m_wndPropertyWindow.ShowWindow( SW_HIDE );
  1492. m_wndPropertyApplication.ShowWindow( SW_HIDE );
  1493. m_wndPropertyWinButton.ShowWindow( SW_HIDE );
  1494. m_wndPropertyScrollBar.ShowWindow( SW_HIDE );
  1495. m_wndPropertyButton.ShowWindow( SW_HIDE );
  1496. m_wndPropertyRadio.ShowWindow( SW_HIDE );
  1497. m_wndPropertyCheckBox.ShowWindow( SW_HIDE );
  1498. m_wndPropertyGroupBox.ShowWindow( SW_HIDE );
  1499. m_wndPropertyEdit.ShowWindow( SW_HIDE );
  1500. m_wndPropertyStatic.ShowWindow( SW_HIDE );
  1501. m_wndPropertyComboBox.ShowWindow( SW_HIDE );
  1502. m_wndPropertyListBox.ShowWindow( SW_HIDE );
  1503. m_wndPropertyPopupMenu.ShowWindow( SW_HIDE );
  1504. m_wndPropertySpin.ShowWindow( SW_HIDE );
  1505. m_wndPropertyProgress.ShowWindow( SW_HIDE );
  1506. m_wndPropertySlider.ShowWindow( SW_HIDE );
  1507. m_wndPropertyHeader.ShowWindow( SW_HIDE );
  1508. m_wndPropertyTab.ShowWindow( SW_HIDE );
  1509. m_wndPropertyStatusBar.ShowWindow( SW_HIDE );
  1510. m_wndPropertyToolBar.ShowWindow( SW_HIDE );
  1511. if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINS )
  1512. {
  1513. m_wndPropertyApplication.ShowWindow( SW_SHOW );
  1514. SetApplication( &( GetDocument()->m_pSkin->m_Application ) );
  1515. m_wndPropertyApplication.Refresh();
  1516. }
  1517. else if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINOBJECT_WINDOW )
  1518. {
  1519. m_wndPropertyWindow.ShowWindow( SW_SHOW );
  1520. SetWindowSkin( ( CWindowSkin * ) GetDocument()->m_pCurrentObject );
  1521. m_wndPropertyWindow.Refresh();
  1522. }
  1523. else if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINOBJECT_WINBUTTON )
  1524. {
  1525. m_wndPropertyWinButton.ShowWindow( SW_SHOW );
  1526. SetWinButtonSkin( GetDocument()->m_pCurrentWinButton );
  1527. m_wndPropertyWinButton.Refresh();
  1528. }
  1529. else if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINOBJECT_SCROLLBAR )
  1530. {
  1531. m_wndPropertyScrollBar.ShowWindow( SW_SHOW );
  1532. SetScroolBarSkin( ( CScrollBarSkin * ) GetDocument()->m_pCurrentObject );
  1533. m_wndPropertyScrollBar.Refresh();
  1534. }
  1535. else if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINOBJECT_BUTTON )
  1536. {
  1537. m_wndPropertyButton.ShowWindow( SW_SHOW );
  1538. SetButtonSkin( ( CButtonSkin * ) GetDocument()->m_pCurrentObject );
  1539. m_wndPropertyButton.Refresh();
  1540. }
  1541. else if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINOBJECT_STATIC )
  1542. {
  1543. m_wndPropertyStatic.ShowWindow( SW_SHOW );
  1544. SetStaticSkin( ( CStaticSkin * ) GetDocument()->m_pCurrentObject );
  1545. m_wndPropertyStatic.Refresh();
  1546. }
  1547. else if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINOBJECT_RADIO )
  1548. {
  1549. m_wndPropertyRadio.ShowWindow( SW_SHOW );
  1550. SetRadioSkin( ( CRadioSkin * ) GetDocument()->m_pCurrentObject );
  1551. m_wndPropertyRadio.Refresh();
  1552. }
  1553. else if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINOBJECT_CHECK )
  1554. {
  1555. m_wndPropertyCheckBox.ShowWindow( SW_SHOW );
  1556. SetCheckBoxSkin( ( CCheckBoxSkin * ) GetDocument()->m_pCurrentObject );
  1557. m_wndPropertyCheckBox.Refresh();
  1558. }
  1559. else if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINOBJECT_GROUP )
  1560. {
  1561. m_wndPropertyGroupBox.ShowWindow( SW_SHOW );
  1562. SetGroupBoxSkin( ( CGroupBoxSkin * ) GetDocument()->m_pCurrentObject );
  1563. m_wndPropertyGroupBox.Refresh();
  1564. }
  1565. else if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINOBJECT_EDIT )
  1566. {
  1567. m_wndPropertyEdit.ShowWindow( SW_SHOW );
  1568. SetEditSkin( ( CEditSkin * ) GetDocument()->m_pCurrentObject );
  1569. m_wndPropertyEdit.Refresh();
  1570. }
  1571. else if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINOBJECT_COMBOX )
  1572. {
  1573. m_wndPropertyComboBox.ShowWindow( SW_SHOW );
  1574. SetComboxSkin( ( CComboBoxSkin * ) GetDocument()->m_pCurrentObject );
  1575. m_wndPropertyComboBox.Refresh();
  1576. }
  1577. else if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINOBJECT_LISTBOX )
  1578. {
  1579. m_wndPropertyListBox.ShowWindow( SW_SHOW );
  1580. SetListBoxSkin( ( CListBoxSkin * ) GetDocument()->m_pCurrentObject );
  1581. m_wndPropertyListBox.Refresh();
  1582. }
  1583. else if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINOBJECT_POPUPMENU )
  1584. {
  1585. m_wndPropertyPopupMenu.ShowWindow( SW_SHOW );
  1586. SetPopupMenuSkin( ( CPopupMenuSkin * ) GetDocument()->m_pCurrentObject );
  1587. m_wndPropertyPopupMenu.Refresh();
  1588. }
  1589. else if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINOBJECT_SPIN )
  1590. {
  1591. m_wndPropertySpin.ShowWindow( SW_SHOW );
  1592. SetSpinSkin( ( CSpinSkin * ) GetDocument()->m_pCurrentObject );
  1593. m_wndPropertySpin.Refresh();
  1594. }
  1595. else if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINOBJECT_PROGRESS )
  1596. {
  1597. m_wndPropertyProgress.ShowWindow( SW_SHOW );
  1598. SetProgressSkin( ( CProgressSkin * ) GetDocument()->m_pCurrentObject );
  1599. m_wndPropertyProgress.Refresh();
  1600. }
  1601. else if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINOBJECT_HEADER )
  1602. {
  1603. m_wndPropertyHeader.ShowWindow( SW_SHOW );
  1604. SetHeaderSkin( ( CHeaderSkin * ) GetDocument()->m_pCurrentObject );
  1605. m_wndPropertyProgress.Refresh();
  1606. }
  1607. else if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINOBJECT_SLIDER )
  1608. {
  1609. m_wndPropertySlider.ShowWindow( SW_SHOW );
  1610. SetSliderSkin( ( CSliderSkin * ) GetDocument()->m_pCurrentObject );
  1611. m_wndPropertyProgress.Refresh();
  1612. }
  1613. else if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINOBJECT_TAB )
  1614. {
  1615. m_wndPropertyTab.ShowWindow( SW_SHOW );
  1616. SetTabSkin( ( CTabSkin * ) GetDocument()->m_pCurrentObject );
  1617. m_wndPropertyTab.Refresh();
  1618. }
  1619. else if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINOBJECT_STATUSBAR )
  1620. {
  1621. m_wndPropertyStatusBar.ShowWindow( SW_SHOW );
  1622. SetStatusSkin( ( CStatusBarSkin * ) GetDocument()->m_pCurrentObject );
  1623. m_wndPropertyStatusBar.Refresh();
  1624. }
  1625. else if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINOBJECT_TOOLBAR )
  1626. {
  1627. m_wndPropertyToolBar.ShowWindow( SW_SHOW );
  1628. SetToolBarSkin( ( CToolBarSkin * ) GetDocument()->m_pCurrentObject );
  1629. m_wndPropertyToolBar.Refresh();
  1630. }
  1631. }
  1632. LRESULT CPropertyView::OnGridNotify( WPARAM wParam , LPARAM lParam )
  1633. {
  1634. if ( wParam == SP_PGN_ITEMVALUE_CHANGED )
  1635. {
  1636. CSPPropertyGridItem * pItem = ( CSPPropertyGridItem * ) lParam;
  1637. if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINS )
  1638. {
  1639. switch ( pItem->GetID() )
  1640. {
  1641. case IDS_STRING_APPLICATION:
  1642. strcpy( GetDocument()->m_pSkin->m_Application.strApplication,pItem->GetValue() ); break;
  1643. case IDS_STRING_APP_AUTHOR:
  1644. strcpy( GetDocument()->m_pSkin->m_Application.strAuthor,pItem->GetValue() );break;
  1645. case IDS_STRING_APP_EMAIL:
  1646. strcpy( GetDocument()->m_pSkin->m_Application.strEmail,pItem->GetValue() );break;
  1647. case IDS_STRING_APP_DESCRIPTION:
  1648. strcpy( GetDocument()->m_pSkin->m_Application.strDescription,pItem->GetValue() );break;
  1649. case IDS_STRING_APP_HOMEPAGE:
  1650. strcpy( GetDocument()->m_pSkin->m_Application.strHomepage,pItem->GetValue() );break;
  1651. case IDS_STRING_APP_USETRANS:
  1652. GetDocument()->m_pSkin->m_Application.bUseTrans = ( ( CSPPropertyGridItemBool * ) pItem )->GetBool();break;
  1653. case IDS_STRING_APP_TRANSCOLOR:
  1654. GetDocument()->m_pSkin->m_Application.colorTransparent = ( ( CSPPropertyGridItemColor * ) pItem )->GetColor();break;
  1655. }
  1656. }
  1657. else if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINOBJECT_WINDOW )
  1658. {
  1659. switch ( pItem->GetID() )
  1660. {
  1661. case IDS_STRING_WINDOW_ACTIVEFRAMELEFT:
  1662. {
  1663. CWindowSkin * pWin = ( CWindowSkin * ) GetDocument()->m_pCurrentObject;
  1664. pWin->m_rtMargins.left = pWin->m_frameActive.imageLeft.rtImagePos.Width();
  1665. SetWindowSkin( pWin );
  1666. }
  1667. break;
  1668. case IDS_STRING_WINDOW_ACTIVEFRAMERIGHT:
  1669. {
  1670. CWindowSkin * pWin = ( CWindowSkin * ) GetDocument()->m_pCurrentObject;
  1671. pWin->m_rtMargins.right = pWin->m_frameActive.imageRight.rtImagePos.Width();
  1672. SetWindowSkin( pWin );
  1673. }
  1674. break;
  1675. case IDS_STRING_WINDOW_ACTIVEFRAMETOP:
  1676. {
  1677. CWindowSkin * pWin = ( CWindowSkin * ) GetDocument()->m_pCurrentObject;
  1678. pWin->m_rtMargins.top = pWin->m_frameActive.imageTop.rtImagePos.Height();
  1679. SetWindowSkin( pWin );
  1680. }
  1681. break;
  1682. case IDS_STRING_WINDOW_ACTIVEFRAMEBOTTOM:
  1683. {
  1684. CWindowSkin * pWin = ( CWindowSkin * ) GetDocument()->m_pCurrentObject;
  1685. pWin->m_rtMargins.bottom = pWin->m_frameActive.imageBottom.rtImagePos.Height();
  1686. SetWindowSkin( pWin );
  1687. }
  1688. break;
  1689. case IDS_STRING_WINDOW_POSITION:
  1690. {
  1691. CWindowSkin * pWin = ( CWindowSkin * ) GetDocument()->m_pCurrentObject;
  1692. pWin->SetPosition( ( ( CSPPropertyGridItemRect * ) pItem )->GetRect() );
  1693. }
  1694. break;
  1695. case IDS_STRING_WINDOW_MARGIN:
  1696. {
  1697. CWindowSkin * pWin = ( CWindowSkin * ) GetDocument()->m_pCurrentObject;
  1698. pWin->SetMargins( ( ( CSPPropertyGridItemRect * ) pItem )->GetRect() );
  1699. }
  1700. break;
  1701. case IDS_STRING_WINDOW_SKINCLIENT:
  1702. {
  1703. CWindowSkin * pWin = ( CWindowSkin * ) GetDocument()->m_pCurrentObject;
  1704. pWin->m_bSkinClient = ( ( ( CSPPropertyGridItemBool * ) pItem )->GetBool() );
  1705. }
  1706. break;
  1707. case IDS_STRING_WINDOW_MENUBARFONT:
  1708. {
  1709. CWindowSkin * pWin = ( CWindowSkin * ) GetDocument()->m_pCurrentObject;
  1710. ( ( CSPPropertyGridItemFont * ) pItem )->GetFont( &( pWin->m_skinMenuBar.fontMenu ) );
  1711. }
  1712. break;
  1713. case IDS_STRING_WINDOW_MENUBARACTIVECOLOR:
  1714. {
  1715. CWindowSkin * pWin = ( CWindowSkin * ) GetDocument()->m_pCurrentObject;
  1716. pWin->m_skinMenuBar.colorActive = ( ( ( CSPPropertyGridItemColor * ) pItem )->GetColor() );
  1717. }
  1718. break;
  1719. case IDS_STRING_WINDOW_MENUBARPRESSEDCOLOR:
  1720. {
  1721. CWindowSkin * pWin = ( CWindowSkin * ) GetDocument()->m_pCurrentObject;
  1722. pWin->m_skinMenuBar.colorPressed = ( ( ( CSPPropertyGridItemColor * ) pItem )->GetColor() );
  1723. }
  1724. break;
  1725. case IDS_STRING_WINDOW_MENUBARGRAYTEXT:
  1726. {
  1727. CWindowSkin * pWin = ( CWindowSkin * ) GetDocument()->m_pCurrentObject;
  1728. pWin->m_skinMenuBar.colorGrayText = ( ( ( CSPPropertyGridItemColor * ) pItem )->GetColor() );
  1729. }
  1730. break;
  1731. case IDS_STRING_WINDOW_MENUBARNORMALTEXT:
  1732. {
  1733. CWindowSkin * pWin = ( CWindowSkin * ) GetDocument()->m_pCurrentObject;
  1734. pWin->m_skinMenuBar.colorNormalText = ( ( ( CSPPropertyGridItemColor * ) pItem )->GetColor() );
  1735. }
  1736. break;
  1737. case IDS_STRING_WINDOW_MENUBARPRESSEDTEXT:
  1738. {
  1739. CWindowSkin * pWin = ( CWindowSkin * ) GetDocument()->m_pCurrentObject;
  1740. pWin->m_skinMenuBar.colorPressedText = ( ( ( CSPPropertyGridItemColor * ) pItem )->GetColor() );
  1741. }
  1742. break;
  1743. case IDS_STRING_WINDOW_MENUBARACTIVETEXTCOLOR:
  1744. {
  1745. CWindowSkin * pWin = ( CWindowSkin * ) GetDocument()->m_pCurrentObject;
  1746. pWin->m_skinMenuBar.colorActiveText = ( ( ( CSPPropertyGridItemColor * ) pItem )->GetColor() );
  1747. }
  1748. break;
  1749. case IDS_STRING_WINDOW_BACKCOLOR:
  1750. {
  1751. CWindowSkin * pWin = ( CWindowSkin * ) GetDocument()->m_pCurrentObject;
  1752. pWin->m_colorBack = ( ( ( CSPPropertyGridItemColor * ) pItem )->GetColor() );
  1753. }
  1754. break;
  1755. }
  1756. }
  1757. else if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINOBJECT_WINBUTTON )
  1758. {
  1759. switch ( pItem->GetID() )
  1760. {
  1761. case IDS_STRING_WINBUTTON_NAME:
  1762. GetDocument()->m_pCurrentWinButton->SetName( pItem->GetValue() ); break;
  1763. case IDS_STRING_WINBUTTON_VISUAL:
  1764. GetDocument()->m_pCurrentWinButton->SetPosition( ( ( CSPPropertyGridItemRect * ) pItem )->GetRect() ); break;
  1765. case IDS_STRING_WINBUTTON_BUTTONTYPE:
  1766. GetDocument()->m_pCurrentWinButton->SetWinButtonType( pItem->GetConstraints()->GetCurrent() ); break;
  1767. case IDS_STRING_WINBUTTON_ANCHOR:
  1768. GetDocument()->m_pCurrentWinButton->SetAnchors( pItem->GetConstraints()->GetCurrent() ); break;
  1769. case IDS_STRING_WINBUTTON_STATENORMAL:
  1770. /*case IDS_STRING_WINBUTTON_STATEHOVER:
  1771. case IDS_STRING_WINBUTTON_STATEPRESSED:
  1772. case IDS_STRING_WINBUTTON_STATEDIABLED:*/
  1773. {
  1774. CWinButtonSkin * pWinButton = GetDocument()->m_pCurrentWinButton;
  1775. CRect rt = pWinButton->m_iamgeButton[keWinButtonNormal].rtImagePos;
  1776. pWinButton->SetPosition( CRect( 0,0,rt.Width(),rt.Height() ) );
  1777. }
  1778. }
  1779. }
  1780. else if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINOBJECT_BUTTON )
  1781. {
  1782. switch ( pItem->GetID() )
  1783. {
  1784. case IDS_STRING_BUTTON_NAME:
  1785. GetDocument()->m_pCurrentObject->SetName( pItem->GetValue() ); break;
  1786. case IDS_STRING_BUTTON_ID:
  1787. GetDocument()->m_pCurrentObject->SetID( ( ( CSPPropertyGridItemNumber * ) pItem )->GetNumber() ); break;
  1788. case IDS_STRING_BUTTON_FONT:
  1789. {
  1790. CButtonSkin * pButton = ( CButtonSkin * ) GetDocument()->m_pCurrentObject;
  1791. ( ( CSPPropertyGridItemFont * ) pItem )->GetFont( &( pButton->m_fontButton ) );
  1792. }
  1793. break;
  1794. case IDS_STRING_BUTTON_AUTOFONT:
  1795. {
  1796. CButtonSkin * pButton = ( CButtonSkin * ) GetDocument()->m_pCurrentObject;
  1797. pButton->m_bAutoFont = ( ( CSPPropertyGridItemBool * ) pItem )->GetBool();
  1798. }
  1799. break;
  1800. }
  1801. }
  1802. else if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINOBJECT_SCROLLBAR )
  1803. {
  1804. switch ( pItem->GetID() )
  1805. {
  1806. case IDS_STRING_SCROLL_NAME:
  1807. GetDocument()->m_pCurrentObject->SetName( pItem->GetValue() ); break;
  1808. }
  1809. }
  1810. else if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINOBJECT_CHECK )
  1811. {
  1812. switch ( pItem->GetID() )
  1813. {
  1814. case IDS_STRING_CHECKBOX_NAME:
  1815. GetDocument()->m_pCurrentObject->SetName( pItem->GetValue() ); break;
  1816. case IDS_STRING_CHECKBOX_ID:
  1817. GetDocument()->m_pCurrentObject->SetID( ( ( CSPPropertyGridItemNumber * ) pItem )->GetNumber() ); break;
  1818. case IDS_STRING_CHECKBOX_FONT:
  1819. {
  1820. CCheckBoxSkin * pCheck = ( CCheckBoxSkin * ) GetDocument()->m_pCurrentObject;
  1821. ( ( CSPPropertyGridItemFont * ) pItem )->GetFont( &( pCheck->m_fontCheckBox ) );
  1822. }
  1823. break;
  1824. case IDS_STRING_CHECKBOX_AUTOFONT:
  1825. {
  1826. CCheckBoxSkin * pCheck = ( CCheckBoxSkin * ) GetDocument()->m_pCurrentObject;
  1827. pCheck->m_bAutoFont = ( ( CSPPropertyGridItemBool * ) pItem )->GetBool();
  1828. }
  1829. break;
  1830. case IDS_STRING_CHECKBOX_COLORBACK:
  1831. {
  1832. CCheckBoxSkin * pCheck = ( CCheckBoxSkin * ) GetDocument()->m_pCurrentObject;
  1833. pCheck->m_colorBackground = ( ( ( CSPPropertyGridItemColor * ) pItem )->GetColor() );
  1834. }
  1835. break;
  1836. }
  1837. }
  1838. else if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINOBJECT_RADIO )
  1839. {
  1840. switch ( pItem->GetID() )
  1841. {
  1842. case IDS_STRING_RADIO_NAME:
  1843. GetDocument()->m_pCurrentObject->SetName( pItem->GetValue() ); break;
  1844. case IDS_STRING_RADIO_ID:
  1845. GetDocument()->m_pCurrentObject->SetID( ( ( CSPPropertyGridItemNumber * ) pItem )->GetNumber() ); break;
  1846. case IDS_STRING_RADIO_FONT:
  1847. {
  1848. CCheckBoxSkin * pCheck = ( CCheckBoxSkin * ) GetDocument()->m_pCurrentObject;
  1849. ( ( CSPPropertyGridItemFont * ) pItem )->GetFont( &( pCheck->m_fontCheckBox ) );
  1850. }
  1851. break;
  1852. case IDS_STRING_RADIO_AUTOFONT:
  1853. {
  1854. CCheckBoxSkin * pCheck = ( CCheckBoxSkin * ) GetDocument()->m_pCurrentObject;
  1855. pCheck->m_bAutoFont = ( ( CSPPropertyGridItemBool * ) pItem )->GetBool();
  1856. }
  1857. break;
  1858. case IDS_STRING_RADIO_COLORBACK:
  1859. {
  1860. CRadioSkin * pRadio = ( CRadioSkin * ) GetDocument()->m_pCurrentObject;
  1861. pRadio->m_colorBackground = ( ( ( CSPPropertyGridItemColor * ) pItem )->GetColor() );
  1862. }
  1863. break;
  1864. }
  1865. }
  1866. else if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINOBJECT_GROUP )
  1867. {
  1868. switch ( pItem->GetID() )
  1869. {
  1870. case IDS_STRING_GROUPBOX_NAME:
  1871. GetDocument()->m_pCurrentObject->SetName( pItem->GetValue() ); break;
  1872. case IDS_STRING_GROUPBOX_ID:
  1873. GetDocument()->m_pCurrentObject->SetID( ( ( CSPPropertyGridItemNumber * ) pItem )->GetNumber() ); break;
  1874. case IDS_STRING_GROUPBOX_FONT:
  1875. {
  1876. CGroupBoxSkin * pGroup = ( CGroupBoxSkin * ) GetDocument()->m_pCurrentObject;
  1877. ( ( CSPPropertyGridItemFont * ) pItem )->GetFont( &( pGroup->m_fontGroupBox ) );
  1878. }
  1879. break;
  1880. case IDS_STRING_GROUPBOX_AUTOFONT:
  1881. {
  1882. CGroupBoxSkin * pGroup = ( CGroupBoxSkin * ) GetDocument()->m_pCurrentObject;
  1883. pGroup->m_bAutoFont = ( ( CSPPropertyGridItemBool * ) pItem )->GetBool();
  1884. }
  1885. break;
  1886. }
  1887. }
  1888. else if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINOBJECT_STATIC )
  1889. {
  1890. switch ( pItem->GetID() )
  1891. {
  1892. case IDS_STRING_STATIC_NAME:
  1893. GetDocument()->m_pCurrentObject->SetName( pItem->GetValue() ); break;
  1894. case IDS_STRING_STATIC_ID:
  1895. GetDocument()->m_pCurrentObject->SetID( ( ( CSPPropertyGridItemNumber * ) pItem )->GetNumber() ); break;
  1896. case IDS_STRING_STATIC_FONT:
  1897. {
  1898. CStaticSkin * pStatic = ( CStaticSkin * ) GetDocument()->m_pCurrentObject;
  1899. ( ( CSPPropertyGridItemFont * ) pItem )->GetFont( &( pStatic->m_fontStatic ) );
  1900. }
  1901. break;
  1902. case IDS_STRING_STATIC_AUTOFONT:
  1903. {
  1904. CStaticSkin * pStatic = ( CStaticSkin * ) GetDocument()->m_pCurrentObject;
  1905. pStatic->m_bAutoFont = ( ( CSPPropertyGridItemBool * ) pItem )->GetBool();
  1906. }
  1907. break;
  1908. case IDS_STRING_STATIC_TRANSPARENT:
  1909. {
  1910. CStaticSkin * pStatic = ( CStaticSkin * ) GetDocument()->m_pCurrentObject;
  1911. pStatic->m_bTransparent = ( ( CSPPropertyGridItemBool * ) pItem )->GetBool();
  1912. }
  1913. break;
  1914. case IDS_STRING_STATIC_COLORBACK:
  1915. {
  1916. CStaticSkin * pStatic = ( CStaticSkin * ) GetDocument()->m_pCurrentObject;
  1917. pStatic->m_colorBack = ( ( ( CSPPropertyGridItemColor * ) pItem )->GetColor() );
  1918. }
  1919. break;
  1920. }
  1921. }
  1922. else if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINOBJECT_COMBOX )
  1923. {
  1924. switch ( pItem->GetID() )
  1925. {
  1926. case IDS_STRING_COMBOX_NAME:
  1927. GetDocument()->m_pCurrentObject->SetName( pItem->GetValue() ); break;
  1928. case IDS_STRING_COMBOX_ID :
  1929. GetDocument()->m_pCurrentObject->SetID( ( ( CSPPropertyGridItemNumber * ) pItem )->GetNumber() ); break;
  1930. case IDS_STRING_COMBOX_FONT:
  1931. {
  1932. CComboBoxSkin * pCombox = ( CComboBoxSkin * ) GetDocument()->m_pCurrentObject;
  1933. ( ( CSPPropertyGridItemFont * ) pItem )->GetFont( &( pCombox->m_fontComboBox ) );
  1934. }
  1935. break;
  1936. case IDS_STRING_COMBOX_AUTOFONT:
  1937. {
  1938. CComboBoxSkin * pButton = ( CComboBoxSkin * ) GetDocument()->m_pCurrentObject;
  1939. pButton->m_bAutoFont = ( ( CSPPropertyGridItemBool * ) pItem )->GetBool();
  1940. }
  1941. break;
  1942. }
  1943. }
  1944. else if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINOBJECT_LISTBOX )
  1945. {
  1946. switch ( pItem->GetID() )
  1947. {
  1948. case IDS_STRING_LISTBOX_NAME:
  1949. GetDocument()->m_pCurrentObject->SetName( pItem->GetValue() ); break;
  1950. case IDS_STRING_LISTBOX_ID :
  1951. GetDocument()->m_pCurrentObject->SetID( ( ( CSPPropertyGridItemNumber * ) pItem )->GetNumber() ); break;
  1952. case IDS_STRING_LISTBOX_FONT:
  1953. {
  1954. CListBoxSkin * pListBox = ( CListBoxSkin * ) GetDocument()->m_pCurrentObject;
  1955. ( ( CSPPropertyGridItemFont * ) pItem )->GetFont( &( pListBox->m_fontListBox ) );
  1956. }
  1957. break;
  1958. case IDS_STRING_LISTBOX_AUTOFONT:
  1959. {
  1960. CListBoxSkin * pListBox = ( CListBoxSkin * ) GetDocument()->m_pCurrentObject;
  1961. pListBox->m_bAutoFont = ( ( CSPPropertyGridItemBool * ) pItem )->GetBool();
  1962. }
  1963. break;
  1964. }
  1965. }
  1966. else if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINOBJECT_POPUPMENU )
  1967. {
  1968. switch ( pItem->GetID() )
  1969. {
  1970. case IDS_STRING_POPUPMENU_NAME:
  1971. GetDocument()->m_pCurrentObject->SetName( pItem->GetValue() ); break;
  1972. case IDS_STRING_POPUPMENU_ID :
  1973. GetDocument()->m_pCurrentObject->SetID( ( ( CSPPropertyGridItemNumber * ) pItem )->GetNumber() ); break;
  1974. case IDS_STRING_POPUPMENU_COLORBACKGROUND:
  1975. {
  1976. CPopupMenuSkin * pPopupMenu = ( CPopupMenuSkin * ) GetDocument()->m_pCurrentObject;
  1977. pPopupMenu->m_colorBackground = ( ( CSPPropertyGridItemColor * ) pItem )->GetColor();
  1978. }
  1979. break;
  1980. case IDS_STRING_POPUPMENU_TEXTNORMAL:
  1981. {
  1982. CPopupMenuSkin * pPopupMenu = ( CPopupMenuSkin * ) GetDocument()->m_pCurrentObject;
  1983. pPopupMenu->m_itemPopup.textNormal = ( ( CSPPropertyGridItemColor * ) pItem )->GetColor();
  1984. }
  1985. break;
  1986. case IDS_STRING_POPUPMENU_TEXTGRAYED:
  1987. {
  1988. CPopupMenuSkin * pPopupMenu = ( CPopupMenuSkin * ) GetDocument()->m_pCurrentObject;
  1989. pPopupMenu->m_itemPopup.textGrayed = ( ( CSPPropertyGridItemColor * ) pItem )->GetColor();
  1990. }
  1991. break;
  1992. case IDS_STRING_POPUPMENU_TEXTACTIVE:
  1993. {
  1994. CPopupMenuSkin * pPopupMenu = ( CPopupMenuSkin * ) GetDocument()->m_pCurrentObject;
  1995. pPopupMenu->m_itemPopup.textActive = ( ( CSPPropertyGridItemColor * ) pItem )->GetColor();
  1996. }
  1997. break;
  1998. case IDS_STRING_POPUPMENU_COLORACTIVE:
  1999. {
  2000. CPopupMenuSkin * pPopupMenu = ( CPopupMenuSkin * ) GetDocument()->m_pCurrentObject;
  2001. pPopupMenu->m_itemPopup.colorActive = ( ( CSPPropertyGridItemColor * ) pItem )->GetColor();
  2002. }
  2003. break;
  2004. case IDS_STRING_POPUPMENU_COLORSEPERATOR:
  2005. {
  2006. CPopupMenuSkin * pPopupMenu = ( CPopupMenuSkin * ) GetDocument()->m_pCurrentObject;
  2007. pPopupMenu->m_itemPopup.colorSeparator = ( ( CSPPropertyGridItemColor * ) pItem )->GetColor();
  2008. }
  2009. break;
  2010. }
  2011. }
  2012. else if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINOBJECT_SPIN )
  2013. {
  2014. switch ( pItem->GetID() )
  2015. {
  2016. case IDS_STRING_SPIN_NAME:
  2017. GetDocument()->m_pCurrentObject->SetName( pItem->GetValue() ); break;
  2018. case IDS_STRING_SPIN_ID :
  2019. GetDocument()->m_pCurrentObject->SetID( ( ( CSPPropertyGridItemNumber * ) pItem )->GetNumber() ); break;
  2020. }
  2021. }
  2022. else if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINOBJECT_PROGRESS )
  2023. {
  2024. switch ( pItem->GetID() )
  2025. {
  2026. case IDS_STRING_PROGRESS_NAME:
  2027. GetDocument()->m_pCurrentObject->SetName( pItem->GetValue() ); break;
  2028. case IDS_STRING_PROGRESS_ID :
  2029. GetDocument()->m_pCurrentObject->SetID( ( ( CSPPropertyGridItemNumber * ) pItem )->GetNumber() ); break;
  2030. case IDS_STRING_PROGRESS_COLORBACK:
  2031. {
  2032. CProgressSkin * pProgress = ( CProgressSkin * ) GetDocument()->m_pCurrentObject;
  2033. pProgress->m_colorBackground = ( ( CSPPropertyGridItemColor * ) pItem )->GetColor();
  2034. }
  2035. case IDS_STRING_PROGRESS_COLORPROGRESS:
  2036. {
  2037. CProgressSkin * pProgress = ( CProgressSkin * ) GetDocument()->m_pCurrentObject;
  2038. pProgress->m_colorProgress = ( ( CSPPropertyGridItemColor * ) pItem )->GetColor();
  2039. }
  2040. }
  2041. }
  2042. else if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINOBJECT_SLIDER )
  2043. {
  2044. switch ( pItem->GetID() )
  2045. {
  2046. case IDS_STRING_SLIDER_NAME:
  2047. GetDocument()->m_pCurrentObject->SetName( pItem->GetValue() ); break;
  2048. case IDS_STRING_SLIDER_ID :
  2049. GetDocument()->m_pCurrentObject->SetID( ( ( CSPPropertyGridItemNumber * ) pItem )->GetNumber() ); break;
  2050. }
  2051. }
  2052. else if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINOBJECT_HEADER )
  2053. {
  2054. switch ( pItem->GetID() )
  2055. {
  2056. case IDS_STRING_HEADER_NAME:
  2057. GetDocument()->m_pCurrentObject->SetName( pItem->GetValue() ); break;
  2058. case IDS_STRING_HEADER_ID :
  2059. GetDocument()->m_pCurrentObject->SetID( ( ( CSPPropertyGridItemNumber * ) pItem )->GetNumber() ); break;
  2060. }
  2061. }
  2062. else if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINOBJECT_TAB )
  2063. {
  2064. switch ( pItem->GetID() )
  2065. {
  2066. case IDS_STRING_TAB_NAME:
  2067. GetDocument()->m_pCurrentObject->SetName( pItem->GetValue() ); break;
  2068. case IDS_STRING_TAB_ID :
  2069. GetDocument()->m_pCurrentObject->SetID( ( ( CSPPropertyGridItemNumber * ) pItem )->GetNumber() ); break;
  2070. }
  2071. }
  2072. else if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINOBJECT_STATUSBAR )
  2073. {
  2074. switch ( pItem->GetID() )
  2075. {
  2076. case IDS_STRING_TAB_NAME:
  2077. GetDocument()->m_pCurrentObject->SetName( pItem->GetValue() ); break;
  2078. case IDS_STRING_TAB_ID :
  2079. GetDocument()->m_pCurrentObject->SetID( ( ( CSPPropertyGridItemNumber * ) pItem )->GetNumber() ); break;
  2080. }
  2081. }
  2082. else if ( GetDocument()->m_nSelectedType == OBJECT_TYPE_SKINOBJECT_TOOLBAR )
  2083. {
  2084. switch ( pItem->GetID() )
  2085. {
  2086. case IDS_STRING_TAB_NAME:
  2087. GetDocument()->m_pCurrentObject->SetName( pItem->GetValue() ); break;
  2088. case IDS_STRING_TAB_ID :
  2089. GetDocument()->m_pCurrentObject->SetID( ( ( CSPPropertyGridItemNumber * ) pItem )->GetNumber() ); break;
  2090. }
  2091. }
  2092. GetDocument()->UpdateAllViews( this );
  2093. }
  2094. return 0;
  2095. }