Message-ID: <37BA6984.4105AAEB@softhome.net> Date: Wed, 18 Aug 1999 10:06:28 +0200 From: Laurynas Biveinis X-Mailer: Mozilla 4.61 [en] (Win98; I) X-Accept-Language: lt,en MIME-Version: 1.0 To: DJGPP Mailing List Subject: Re: TDirListBox Content-Type: text/plain; charset=iso-8859-4 Content-Transfer-Encoding: 7bit Reply-To: djgpp AT delorie DOT com Sascha Zapf wrote: > > Hi, > > i try to use TDirListBox in a simple Dialog... Known bug in TV. TDirListBox expects that its owner is TChDirDialog and sends messages directly by using Q&D trick ((TChDirDialog *)owner)->other_member I've sent patch to SET and it will be fixed in 1.0.8. Here is that patch for you: Laurynas Biveinis ----------------- diff -u -r tvision.1.0.7/classes/tchdirdi.cc tvision/classes/tchdirdi.cc --- tvision.1.0.7/classes/tchdirdi.cc Sun Jun 27 17:18:12 1999 +++ tvision/classes/tchdirdi.cc Thu Aug 12 12:07:10 1999 @@ -129,6 +129,9 @@ #endif break; } + case cmDirSelection: + chDirButton->makeDefault((Boolean)event.message.infoPtr); + return; // Do not use break here ! default: return; } diff -u -r tvision.1.0.7/classes/tdirlist.cc tvision/classes/tdirlist.cc --- tvision.1.0.7/classes/tdirlist.cc Sun Jun 27 17:18:12 1999 +++ tvision/classes/tdirlist.cc Thu Aug 12 12:05:50 1999 @@ -312,7 +312,7 @@ { TListBox::setState( nState, enable ); if( (nState & sfFocused) != 0 ) - ((TChDirDialog *)owner)->chDirButton->makeDefault( enable ); + message(owner, evCommand, cmDirSelection, (void *)enable); } #if !defined( NO_STREAM ) diff -u -r tvision.1.0.7/include/stddlg.h tvision/include/stddlg.h --- tvision.1.0.7/include/stddlg.h Wed Jun 23 00:39:16 1999 +++ tvision/include/stddlg.h Thu Aug 12 12:08:20 1999 @@ -18,13 +18,15 @@ // Commands - cmFileOpen = 1001, // Returned from TFileDialog when Open pressed - cmFileReplace = 1002, // Returned from TFileDialog when Replace pressed - cmFileClear = 1003, // Returned from TFileDialog when Clear pressed - cmFileInit = 1004, // Used by TFileDialog internally - cmChangeDir = 1005, // Used by TChDirDialog internally - cmRevert = 1006, // Used by TChDirDialog internally - cmFileSelect = 1007, // Returned from TFileDialog when Select pressed + cmFileOpen = 1001, // Returned from TFileDialog when Open pressed + cmFileReplace = 1002, // Returned from TFileDialog when Replace pressed + cmFileClear = 1003, // Returned from TFileDialog when Clear pressed + cmFileInit = 1004, // Used by TFileDialog internally + cmChangeDir = 1005, // Used by TChDirDialog internally + cmRevert = 1006, // Used by TChDirDialog internally + cmFileSelect = 1007, // Returned from TFileDialog when Select pressed + cmDirSelection = 1008, // New: Used by TChDirDialog internally and + // TDirListBox externally // Messages