Category : Pascal Source Code
Archive   : CTL3DPAS.ZIP
Filename : SAMPLE3D.PAS

 
Output of file : SAMPLE3D.PAS contained in archive : CTL3DPAS.ZIP
(**************************************************)
(* *)
(* Sample3D - Shows the use of CTL3D.DLL *)
(* *)
(* Supplied by Andreas Furrer *)
(* *)
(**************************************************)

program Sample3D;

{$R sample3d.res}


uses WinTypes, WinProcs, WObjects, CommDlg, Ctl3d;

type
Applikation =
object(TApplication)
procedure InitMainWindow; virtual;
end;

PMainwindow = ^TMainwindow;
TMainwindow =
object(TDialog)
procedure WMDlgBorder(var Msg : TMessage); virtual wm_DlgBorder;
procedure WMDlgSubclass(var Msg : TMessage); virtual wm_DlgSubclass;
procedure WMSysColorChange(var Msg : TMessage); virtual wm_first + wm_SysColorChange;
procedure Msgbox(var Msg : TMessage); virtual id_first + 130;
procedure Fileopen(var Msg : TMessage); virtual id_first + 131;
end;



procedure TMainwindow.WMDlgBorder;
begin
{ Remove the comments from the next block of code to }
{ stop the dialog border form being drawn with 3D effects }
{
PInteger(Msg.lParam)^ := Ctl3d_NoBorder;
}
end;

procedure TMainwindow.WMDlgSubclass;
begin
{ Remove the comments from the next block of code to }
{ stop subclassing the controls on this dialog }
{
PInteger(Msg.lParam)^ := Ctl3d_NoSubclass;
}
end;

procedure TMainwindow.WMSysColorChange;
begin
Ctl3dColorChange;
end;

procedure TMainwindow.Msgbox;
begin
MessageBox(HWindow,'This is a sample Message Box','3D Look',mb_Ok);
end;


function HookProc(HWindow: HWnd; Msg, wParam: word; lParam: longint): word;far;
var p : TFarProc;
begin
IF Msg=wm_InitDialog then begin
Ctl3dSubClassDlg(HWindow,Ctl3d_All);
end;
HookProc:=0;
end;

procedure TMainwindow.Fileopen;
var FileName : array[0..255] of char;
Ofn : TOpenFileName;
begin
FileName[0]:=#0;
Ofn.lStructSize := sizeof(TOpenFileName);
Ofn.hwndOwner := HWindow;
Ofn.hInstance := HInstance;
Ofn.lpstrFilter :='Text Files (*.TXT)'+#0+'*.TXT'+#0+'All Files (*.*)'+#0+'*.*'+#0+#0;
Ofn.lpstrCustomFilter := nil;
Ofn.nMaxCustFilter := 0;
Ofn.nFilterIndex := 1;
Ofn.lpstrFile := FileName;
Ofn.nMaxFile := sizeof(FileName);
Ofn.lpstrFileTitle := nil;
Ofn.nMaxFileTitle := 0;
Ofn.lpstrInitialDir := nil;
Ofn.lpstrTitle := '3D Look';
Ofn.Flags := ofn_HideReadonly or ofn_EnableHook;
Ofn.nFileOffset := 0;
Ofn.nFileExtension := 0;
Ofn.lpstrDefExt := NIL;
Ofn.lpTemplateName := 'FileOpen';
Ofn.lCustData := 0;
Ofn.lpfnHook := HookProc;
GetOpenFileName(Ofn);
end;

procedure Applikation.InitMainWindow;
begin
MainWindow := New(PMainwindow, Init(nil, MakeIntResource(100)));
end;

var Prg : Applikation;

begin
Ctl3dRegister(HInstance);
Ctl3dAutoSubclass(HInstance);

Prg.Init('Sample3D');
Prg.Run;
Prg.Done;

Ctl3dUnregister(HInstance);
end.

  3 Responses to “Category : Pascal Source Code
Archive   : CTL3DPAS.ZIP
Filename : SAMPLE3D.PAS

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/