Skip to main content
Email Password   helpLost your password?

Introduction

There is one problem if you have designed a dialog and you want to share it with other people. For example: I thinking about creating a typical "Tip of the Day" dialog able to read in a xml file. I wanted to share it with anyone who needs it. The problem was: How can I distribute the code without messing around with multiple resource scripts. I searched the Internet for a while and found some information about the Windows API. It was rather easy, but it had some nasty things you needed to look out for. Example all data had to be aligned at DWORD boundaries. I found out is was really hard to create a dialog without the dialog editor, so I wrote a small tool capable of parsing a resource script and export a dialog from it. I packet those two things together and the Resourceless Dialog Toolkit was born.

Using the code

I have spent a few hours to create documentation and a tutorial, so I'm giving you a small class showing you how the code works.

class CSampleDlg: public CResourcelessDlg<CSampleDlg>, 
  public CWinDataExchange<CSampleDlg>
{
public:
  BEGIN_MSG_MAP(CSampleDlg)
    MSG_WM_INITDIALOG(OnInitDialog)
    CHAIN_MSG_MAP(CResourcelessDlg<CSampleDlg>)
  END_MSG_MAP()
  BEGIN_DDX_MAP(CSampleDlg)
  END_DDX_MAP()

  // Dialog function

  void CreateDlg()
  {
    CreateDlgTemplate("About", DS_SETFONT|DS_MODALFRAME
      |WS_CAPTION|WS_SYSMENU, 
      0, 0, 0, 186, 138, 8, "MS Sans Serif", "", "");
    AddStatic("Dialog Extractor v1.0", 0, 0, 60, 20, 67, 8, IDC_STATIC);
    AddStatic(IDR_MAINFRAME, SS_ICON, 0, 20, 20, 20, 20, 18);
    AddButton("", 0 | BS_GROUPBOX, 0, 7, 7, 172, 103, IDC_STATIC);
    AddStatic("(c) Copyright 2004", 0, 0, 60, 30, 58, 8, IDC_STATIC);
    AddStatic("By: Trilobyte-Solutions", 0, 0, 60, 41, 70, 8, IDC_STATIC);
    AddStatic("Updates and additional information about"
      " this program can be found at 
      the Trilobyte Solutions website.", 0, 0, 60, 59, 113, 26,  IDC_STATIC);
    AddStatic("www.Trilobyte-Solutions.nl", 0, 0, 60, 94, 84, 8, IDC_STATIC);
    AddButton("OK", 0|BS_DEFPUSHBUTTON, 0, 67, 117, 50, 14, IDOK);
  }
  LRESULT  OnInitDialog(HWND, LPARAM)
  {
    DoDataExchange(false);

    CenterWindow(GetParent());
    return IDOK;
  }
};
As you see it is really easy to use the code. More information can be found in the documentation and tutorial inside the toolkit.

If you want to know more about the underlaying technique. Look one of the following items up in the MSDN: DLGTEMPLATE, DLGITEMTEMPLATE, CreateDialogIndirectParam and DialogBoxIndirectParam. If there are enough request, I will write a article about the Windows dialog API.

The Tip of the Day dialog

The dialog I told you about earlier in this article is not ready yet. At the end of the next week it probably will be ready.

History

The code is version 1.0. The tool is version 1.1, there were some bugs found.

Additional Information

For additional information, questions and bug report, visit my website: http://www.trilobyte-solutions.nl/, or contact me at bertwillems@trilobyte-solutions.nl.

You must Sign In to use this message board.
 
 
Per page   
 FirstPrevNext
GeneralNew location for the article downloads Pin
Trilobyte
1:19 30 Apr '09  
GeneralVery Nice! [modified] Pin
mcc2vc
16:23 5 Dec '08  
GeneralSynchronicity! Pin
Jerry Evans
6:25 16 Aug '04  
Generalsource code Pin
bishbosh02
1:41 16 Aug '04  
GeneralRe: source code Pin
Mr. TriloByte
4:50 16 Aug '04  
GeneralRe: source code Pin
bishbosh02
20:55 16 Aug '04  
General[Msg Deleted] Pin
Rodrigo Pinho Pereira de Souza
6:49 1 Sep '05  
GeneralRe: source code Pin
Ralph Walden
5:27 24 Aug '04  
GeneralRe: source code Pin
Rodrigo Pinho Pereira de Souza
9:50 2 Sep '05  
GeneralDialog Extractor update Pin
Mr. TriloByte
0:09 16 Aug '04  
GeneralSource code of the Resource extractor? Pin
Jeroen Walter
23:02 15 Aug '04  
GeneralRe: Source code of the Resource extractor? Pin
Mr. TriloByte
0:02 16 Aug '04  
GeneralRe: Source code of the Resource extractor? Pin
Anonymous
21:57 3 May '05  
GeneralRe: Source code of the Resource extractor? Pin
Anonymous
22:01 3 May '05  
GeneralRe: Source code of the Resource extractor? Pin
Rodrigo Pinho Pereira de Souza
9:48 2 Sep '05  
Generalis it realy needed ? Pin
Mandalay
21:00 15 Aug '04  
GeneralRe: is it realy needed ? Pin
Jeroen Walter
23:13 15 Aug '04  
GeneralRe: is it realy needed ? Pin
Ralph Walden
5:18 24 Aug '04  
GeneralRe: is it realy needed ? Pin
Simon Cooke
13:17 21 Jan '05  
GeneralRe: is it realy needed ? Pin
Jeroen Walter
4:34 24 Jan '05  


Last Updated 16 Aug 2004 | Advertise | Privacy | Terms of Use | Copyright © CodeProject, 1999-2009