Verkenner-stijl aangepaste sjablonen

Gebruiken de NAAMOPENBESTAND structuur om een sjabloon voor een kind-dialoogvenster met de extra besturingselementen te definiëren extra besturingselementen voor een dialoogvenster Verkenner-stijl Open of Opslaan als . Als uw kind dialoogvenster sjabloon een resource in een toepassing of dynamic-link library is, in de vlaggen lid de OFN_ENABLETEMPLATE vlag instellen en de hInstance en lpTemplateName leden van de structuur gebruiken om de naam van de module en resource te identificeren. Als de sjabloon al in het geheugen is, stel de vlag OFN_ENABLETEMPLATEHANDLE en de hInstance lid om te identificeren van het geheugen-object dat de sjabloon bevat. Bij het verstrekken van een kind dialoogvenster sjabloon voor een Verkenner-stijl dialoogvenster, moet u ook de vlag OFN_EXPLORER; instellen anders, gaat het systeem ervan uit dat u een sjabloon vervanging bieden voor een oude-stijl dialoogvenster. Meestal, als u extra besturingselementen opgeeft, moet u ook opgeven een Verkenner-stijl haak procedure proces berichten voor de nieuwe besturingselementen.

Als jij een andere sjabloon, behalve dat u van de WS_CHILD en WS_CLIPSIBLINGS stijlen opgeven moet en de stijlen van DS_3DLOOK en DS_CONTROL moet opgeven, kunt u uw kind dialoogvenster vak sjabloon maken. Het systeem vereist de WS_CHILD stijl omdat uw sjabloon een kind dialoogvenster standaard openen of Opslaan als in het dialoogvenster definieert. De WS_CLIPSIBLINGS stijl zorgt ervoor dat het dialoogvenster kind doet niet verf over de besturingselementen in het dialoogvenster standaard. De DS_3DLOOK stijl zorgt ervoor dat het uiterlijk van de besturingselementen in het dialoogvenster kind met de besturingselementen in het dialoogvenster standaard strookt. De DS_CONTROL stijl zorgt ervoor dat de gebruiker het tabblad en andere navigatietoetsen gebruiken kunt om alle besturingselementen, standaard of aangepaste, in het aangepaste dialoogvenster doorlopen.

Om ruimte te maken voor de nieuwe besturingselementen, breidt het systeem uit het dialoogvenster standaard door de breedte en hoogte van het aangepaste dialoogvenster. Standaard zijn alle besturingselementen in het aangepaste dialoogvenster geplaatst hieronder de besturingselementen in het dialoogvenster standaard. Echter, u kunt negeren deze standaard positionering door met inbegrip van een besturingselement statische tekst in uw aangepaste dialoogvenster vak sjabloon en het toewijzen van het id-waarde van het besturingselement van stc32. (Deze waarde is gedefinieerd in de DLG.H headerbestand.) In dit geval gebruikt het systeem het besturingselement als het referentiepunt voor het bepalen van waar de nieuwe besturingselementen. Alle nieuwe besturingselementen boven en links van het besturingselement stc32 zijn gepositioneerd boven en links van de besturingselementen in het dialoogvenster standaard hetzelfde bedrag. Nieuwe besturingselementen onder en rechts van het besturingselement stc32 zijn geplaatst onder en rechts van de standaardbesturingselementen. In het algemeen, is elk nieuwe besturingselement zo geplaatst dat het de dezelfde positie ten opzichte van de standaardbesturingselementen als het moest het besturingselement stc32 heeft. Om ruimte te maken voor deze nieuwe besturingselementen, wordt het systeem toegevoegd ruimte aan de links, rechts, onder en boven aan het dialoogvenster standaard zo nodig.

Het systeem vereist de haak procedure voor het verwerken van alle berichten die bestemd zijn voor het aangepaste dialoogvenster en daarom dezelfde venster berichten verzendt naar de haak procedure als naar een andere dialoogvenster vak procedure. Bijvoorbeeld, ontvangt de haak procedure WM_COMMAND berichten wanneer de gebruiker op de knop in het dialoogvenster Aangepaste besturingselementen klikt. De haak-procedure is verantwoordelijk voor deze besturingselementen initialiseren en het ophalen van waarden van de besturingselementen wanneer het dialoogvenster wordt gesloten. Merk op dat wanneer de haak procedure het bericht WM_INITDIALOG ontvangt , het systeem niet nog de besturingselementen naar hun definitieve standpunten verplaatst heeft.

De verstekprocedure dialoogvenster vak berichten voor alle besturingselementen in het dialoogvenster standaard verwerkt, maar de haak procedure ontvangt de WM_NOTIFY meldingsberichten voor acties van de gebruiker op deze besturingselementen zoals beschreven in Verkenner-stijl haak Procedures.