Font dialog with custom text preview '& color

The MFC CFontDialog class encapulates the standard Font common dialog box. This dialog allows you to select a font. It display a sample window showing some text in the required font. It is nice to be able to specify your own sample text - for example, if I am editing a text object in a drawing package, I would want to see the actual text in the sample box.

However, the MFC implmentation does not let you easily specify the sample text.

The following class, derived from CFontDialog, lets you do just this. It also lets you set and get the color selected in the dialog. Simple create a CMyFontDialog and specify the sample text in the constructor (or call SetSampleText() before calling DoModal()). Also call SetTextColor() before calling DoModal(), and retrieve the selected color afterwards with TextColor().

// FontDialog.h
// (c) 1997 Roger Onslow

#ifndef _CMyFontDialog_
#define _CMyFontDialog_

class CMyFontDialog : public CFontDialog {
     DECLARE_DYNCREATE(CMyFontDialog);
public:
     CMyFontDialog(LPLOGFONT lplogfont=NULL, LPCTSTR sampletext="Sample Text", CWnd* pParentWnd=NULL);
protected:
     LPCTSTR m_sampletext;
public:
     CString SampleText() const { return m_sampletext; }
     void SetSampleText(LPCTSTR sampletext) { m_sampletext = sampletext; }
public:
     COLORREF TextColor() const { return m_cf.rgbColors; }
     void SetTextColor(COLORREF rgbColors) { m_cf.rgbColors = rgbColors; }
protected:
     // Dialog Data
protected:
     //{{AFX_DATA(CMyFontDialog)
     //}}AFX_DATA
     // Overrides
protected:
     // ClassWizard generate virtual function overrides
     //{{AFX_VIRTUAL(CMyFontDialog)
     virtual BOOL OnInitDialog();
     //}}AFX_VIRTUAL
     // Implementation
protected:
     // Generated message map functions
     //{{AFX_MSG(CMyFontDialog)
     //}}AFX_MSG
     DECLARE_MESSAGE_MAP()
};

#endif




////////////////////////////////////////////////////////////////////
// FontDialog.cpp
// (c) 1997 Roger Onslow

#include "stdafx.h"
#include "FontDialog.h"

#ifdef _DEBUG
#undef THIS_FILE
static char BASED_CODE THIS_FILE[] = __FILE__;
#endif

IMPLEMENT_DYNCREATE(CMyFontDialog, CFontDialog)

BEGIN_MESSAGE_MAP(CMyFontDialog, CFontDialog)
//{{AFX_MSG_MAP(CMyFontDialog)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

CMyFontDialog::CMyFontDialog(LPLOGFONT lpLogfont, LPCTSTR sampletext, CWnd* pParentWnd)
		: CFontDialog(lpLogfont,CF_EFFECTS | CF_SCREENFONTS, NULL, pParentWnd)
		, m_sampletext(sampletext)
{
}

BOOL CMyFontDialog::OnInitDialog() {
     BOOL r = CFontDialog::OnInitDialog();
     if (m_sampletext) {
          SetDlgItemText(stc5, m_sampletext);
     }
     return r;
}

Comments:



Comments

  • købe billige sort GHD glattejern,nye ghd IV sort

    Posted by pletcherkff on 06/15/2013 12:06pm

    [url=http://fladjernghd.webgarden.com/]Fladjern ghd[/url] Du kan manuelt styre temperaturen i ghd glattejern. Hvis du ønsker en høj temperatur kontakt dit hår, så du kan varme lang tid at nå dine ønskede temperatur. Du kan bruge. Bemærk: når du bruger ghd glattejern, skal du være opmærksom på deres egen sikkerhed, for at undgå at blive brændt. Let at bruge ghd glattejern, godt modelleringsværktøjer.Perfekt hår tænketank til at hjælpe dig med at ændre dit udseende, kan du finde online DVD præsentation af måder at opnå varme ghd glat hår stilarter trin for trin instruktioner. Såsom hands-on lære dig, så snart som muligt fortrolig med brugen af billige ghd glattejern. [url=http://fladjernghd.webgarden.com/]Fladjern ghd[/url] ghd fladjern anvender keramiske plader til glat, let at forme. Spændinger kontrol, kan du oprette den helt lige mellem de keramiske plader af glat hår. Produktet har også den samme anion, bevaring gør håret smidigt og blankt, for at undgå panik. Kroppen med en digital varmeindstillinger, digital display gør det nemt at vælge den ønskede funktion eller justere formen af ??temperaturen. Det kan hjælpe dig med at vælge det rigtige hår og den ønskede temperatur. Tryk på en knap, det samme har en perfekt form effekt. 1 time auto-sluk-funktionen giver dig mulighed for at bruge mere ro i sindet. Ghd glattejern så sikker og enkel betjening. Besætte stor markedsandel. Bliv en køber dille. På grund af dette, ofte forekommer falsk, så flere og flere mennesker køber ægte ghd glattejern. Vores butik, selv om salget af ghd håret sort. Men vi er regelmæssige ghd glattejern produkter. Fandt du ikke bringe alle former for falske brand skader. Vores produkt kort med det fysiske kort, er nøjagtig det samme. For at sikre sande og pålidelige produkter. Og vi sælger billige ghd glattejern, 7 * 24 online-funktioner, kan du købe på ethvert tidspunkt. Så længe du har valgt den ønskede type, udfylde personlige oplysninger, osv. relaterede emner, kan produktet blive leveret direkte til din ventende hænder. Venligst købe ghd glattejern produkter følelser før, se på vores privacy policy, Om os, transport, FAQ og mere relevante politikker, vil dette hjælpe dig til at købe vores produkter. Tak for dit samarbejde. [url=http://glattejernghdpris.webgarden.es/]Glattejern ghd pris[/url] Jeg har fundet ud af for nylig, og har set GHD Glam Palm med mine egne øjne, at GHD Danmarklancerer der 2008 Limited Edition Purple GHD IV Styler nytår Set.GHD IV Mark4 er verdens førende mærke af ghd fladjern.Nye år GHD bringe ud en ny Limited Edition gave sæt, og i år er ikke anderledes.ghd glattejern er på vej! Det har innovative stil og mange farver. og alle produkter vises på vores hjemmeside er til rådighed, og har lagre here.We tilbyde helt specielle priser til vores kunder, og meget hurtigt og sikkerhed levering.Vores ghd glattejern er salg i rabat nu, nogle af dem er op med 44% OFF.We kan levering inden for 24 timer efter modtagelsen af din payment.It er meget sikker dør til dør service, aldrig få problemer med toldmyndighederne.

    Reply
  • clarisonic pro 2012 pattern in pink

    Posted by iouwanzi on 06/06/2013 10:22pm

    [url=http://www.miaclarisonicaustralia.org/]clarisonic mia 2[/url] peut-être mieux si vous profitez de cette fondation se bloque style pour le monde moderne. devenir une personne mystifié destinée à une bonne approche très bon pour faire la coiffure impressionnante? vous permet de le fait que c’est dans la terre soigneusement introduire une règle peut être limitée par un excellent instrument qui est connecté n’est pas vraiment efficace appréciation des résultats définitifs de ces cheveux crépus? et peut également demander le jaune est toujours dans vos propres besoins redressement de vos cheveux. Rose tout simplement charmant, le moment, en raison de la longue durée développer la gestion motif merveilleux et très important. En outre, ghd lisseur en céramique infrarouge critique couvre belle chevelure bouclée, et également la compression d’huiles naturelles, de l’eau et de serrures colorants alimentaires, bouclés cheveux sauvages éclatantes assurés reçoivent des produits de qualité supérieure qui va venir. [url=http://www.australiaclarisonic.com/clarisonic-classic]clarisonic classic[/url] Un fabuleux produit saisonnier qui devrait satisfaction à peu près toutes les fashionistas à long terme et de créer par lui-même comme l’un des principaux programmes de cette année ou plus. Katy Perry expose « Écarlate », la dernière collection de tout poil frisé de compagnie ghd.Au moment encore une fois, une plus importante marque de ghd cheveux crépus loin un sensationnel fer plat important qui aidera à obtenir plus d’un du plus prouvé utile ainsi que semble en vogue à l’époque. [url=http://www.australiaclarisonic.com/]cheap clarisonic australia[/url] Les producteurs primaires suivantes commencé pour sa bonne qualité merveilleuse de votre sèche-cheveux et fer à lisser est aujourd’hui célèbre également la distinction entre les femmes qui parfois vous avez besoin pour redresser votre chevelure afin d’éliminer ces types de problèmes ghd fer luxe Violet, à son tour, n’est pas un peu ne serait tout simplement pas seulement en possession du logiciel. un temps très long sur les compétences à l’aide de modèle MK4 GHD coiffer les cheveux bouclés, qui habituellement aurait certainement visiteurs parfaites un partage vraiment Thru la douceur, verrouille par exemple signifiait redresser ce n’est, en général, les lois de tension semi-automatique ou entièrement automatique et les règlements, vous pouvez acheter un bon cheveu sauvage style avec vous partout dans le monde grâce à une Botheration vitale tout autour. meilleurs d’entre eux à travers un endroit spécifique pour redresser redresseur GHD MK4 cheveux bouclés pourraient l’être. problème en effet, le fait qui se produit à l’aide d’un opérateur capable dvd, plus de points, le type choisi des méthodes simples pour vous aider à contrôler l’application correcte et

    Reply
  • stc5

    Posted by Ghostie on 07/14/2004 09:45am

    This won't compile. What is 'stc5' in the SetDlgItemText() call?

    • Posted by Ghostie on 07/14/2004 10:47am

      #include Dlgs.h (in brackets) in order to be able to use 'stc5'.

      Reply
    Reply
Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Managing your company's financials is the backbone of your business and is vital to the long-term health and viability of your company. To continue applying the necessary financial rigor to support rapid growth, the accounting department needs the right tools to most efficiently do their job. Read this white paper to understand the 10 essentials of a complete financial management system and how the right solution can help you keep up with the rapidly changing business world.

  • With 81% of employees using their phones at work, companies have stopped asking: "Is corporate data leaking from personal devices?" and started asking: "How do we effectively prevent corporate data from leaking from personal devices?" The answer has not been simple. ZixOne raises the bar on BYOD security by not allowing email data to reside on the device. In addition, Zix allows employees to maintain complete control of their personal device, therefore satisfying privacy demands of valued employees and the …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds