Thank you everyone for the replies to my Right Click problems, the issue 
is now solved.  However, I am having a couple more issues that I can not 
figure out how to get around.

The first issue is a known one, and it concerns a crash with RichEdit on 
1.0 when exiting the application.  I have created Global vars for the 
RichEdit controls, but I still get a crash on exit, so I'm not sure what 
i'm doing wrong.

The next issue concerns a couple buttons that I have created and when I go 
to click on them the program just hangs.  I tried adding a BusyTimer to 
make sure that the program was hanging and the BusyTimer stopped spewing 
out information, so I know it hung.

Anyway, I have included some code below in hopes that someone can help me 
fix these issues.  Please let me know if you need any more information and 
I will gladly include it.

Thanks.

Len.

--------------------------[ Begin Code ]------------------------------- 

use strict;

use Win32::GUI;
use Win32::GUI::TabFrame;

my $mainwindow;

my $richedit_1;
my $richedit_2;

create_mainwindow();

$mainwindow -> Show;

Win32::GUI::Dialog();

sub create_mainwindow  {
        my $windowheight = 400;
        my $windowwidth = 700;
        my $windowmenu;

        $windowmenu = Win32::GUI::MakeMenu (
                "Item &1"                               => "",
                " > SubItem &1"                         => 
"Item1SubItem1",
                " > SubItem &2"                         => 
"Item1SubItem2",
                " > SubItem &3"                         => 
"Item1SubItem3",
                " > -"                                  => 0,
                " > E&xit"                              => "AppExit",
                "Item &2"                               => "",
                " > SubItem &1"                         => 
"Item2SubItem1",
        );

        $mainwindow = Win32::GUI::Window -> new (
                -name           => "Main",
                -width          => $windowwidth,
                -height         => $windowheight,
                -title          => "Main Window",
                -menu           => $windowmenu,
        );

        $mainwindow -> AddStatusBar (
                -name           => "StatusBar"
        );

        $mainwindow -> AddTreeView (
                -text           => "",
                -name           => "TreeView",
                -left           => -1,
                -top            => -1,
                -rootlines      => 1,
                -buttons        => 1,
        );

        $mainwindow -> AddTabFrame (
                -name           => "TabFrame",
                -panel          => "TabPage",
                -tabstop        => 1,
        );

        $mainwindow -> TabFrame -> InsertItem (
                -text           => "Tab1",
                -border         => 1,
        );

        $mainwindow -> TabFrame -> InsertItem (
                -text           => "Tab2",
                -border         => 1,
        );

        $mainwindow -> TabFrame -> InsertItem (
                -text           => "Tab3",
                -border         => 1,
        );

        $mainwindow -> TabFrame -> InsertItem (
                -text           => "Tab4",
                -border         => 1,
        );

        $richedit_1 = $mainwindow -> TabFrame -> TabPage0 -> AddRichEdit (
                -name           => "RichEdit1",
                -multiline      => 1,
                -vscroll        => 1,
                -hscroll        => 1,
                -readonly       => 1,
        );

        $richedit_2 = $mainwindow -> TabFrame -> TabPage1 -> AddRichEdit (
                -name           => "RichEdit2",
                -multiline      => 1,
                -vscroll        => 1,
                -readonly       => 1,
        );

        $mainwindow -> TabFrame -> TabPage2 -> AddListView (
                -name           => "ListView1",
                -style          => WS_CHILD | WS_VISIBLE | WS_VSCROLL | 1,
                -fullrowselect  => 1,
        );

        $mainwindow -> TabFrame -> TabPage2 -> ListView1 -> InsertColumn (
                -index          => 0,
                -width          => 220,
                -text           => "Column 1",
        );

        $mainwindow -> TabFrame -> TabPage2 -> ListView1 -> InsertColumn (
                -index          => 1,
                -width          => 220,
                -text           => "Column 2",
        );

        $mainwindow -> TabFrame -> TabPage2 -> AddButton (
                -name           => "Button1",
                -text           => "Button 1",
                -default        => 1,
                -tabstop        => 1,
        );

        $mainwindow -> TabFrame -> TabPage2 -> AddButton (
                -name           => "Button2",
                -text           => "Button 2",
                -tabstop        => 1,
        );

        $mainwindow -> TabFrame -> TabPage3 -> AddListView (
                -name           => "ListView2",
                -style          => WS_CHILD | WS_VISIBLE | WS_VSCROLL | 1,
                -fullrowselect  => 1,
        ); 

        $mainwindow -> TabFrame -> TabPage3 -> ListView2 -> InsertColumn (
                -index          => 0,
                -width          => 125,
                -text           => "Column1",
        );

        $mainwindow -> TabFrame -> TabPage3 -> ListView2 -> InsertColumn (
                -index          => 1,
                -width          => 50,
                -text           => "Column2",
        );

        $mainwindow -> TabFrame -> TabPage3 -> ListView2 -> InsertColumn (
                -index          => 2,
                -width          => 200,
                -text           => "Column3",
        );

        $mainwindow -> TabFrame -> TabPage3 -> ListView2 -> InsertColumn (
                -index          => 3,
                -width          => 200,
                -text           => "Column4",
        );

        $mainwindow -> {-dialogui} = 1;

}


sub Button1_Click  {

        print "DEBUG - Button 1 was Clicked\n";

}


sub Button2_Click  {

        print "DEBUG - Button 2 was Clicked\n";

}


sub AppExit_Click  {

        Main_Terminate();

}


sub Main_Terminate  {

        $mainwindow -> Hide();

        exit 0;

}


sub Main_Resize  {
        my $windowheight = $mainwindow -> ScaleHeight();
        my $windowwidth = $mainwindow -> ScaleWidth();
        my $treeview_width = 200;

        $mainwindow -> TreeView -> Move (0, 0);
        $mainwindow -> TreeView -> Resize ($treeview_width, $windowheight 
- $mainwindow -> StatusBar -> ScaleHeight);

        $mainwindow -> TabFrame -> Move ($treeview_width, 0);
        $mainwindow -> TabFrame -> Resize ($windowwidth - $treeview_width, 
$windowheight - $mainwindow -> StatusBar -> ScaleHeight);

        $mainwindow -> TabFrame -> TabPage0 -> RichEdit1 -> Move (0, 0);
        $mainwindow -> TabFrame -> TabPage0 -> RichEdit1 -> Resize 
($mainwindow -> TabFrame -> TabPage0 -> ScaleWidth, $mainwindow -> 
TabFrame -> TabPage0 -> ScaleHeight);

        $mainwindow -> TabFrame -> TabPage1 -> RichEdit2 -> Move (0, 0);
        $mainwindow -> TabFrame -> TabPage1 -> RichEdit2 -> Resize 
($mainwindow -> TabFrame -> TabPage0 -> ScaleWidth, $mainwindow -> 
TabFrame -> TabPage0 -> ScaleHeight);

        $mainwindow -> TabFrame -> TabPage2 -> ListView1 -> Move (0, 0);
        $mainwindow -> TabFrame -> TabPage2 -> ListView1 -> Resize 
($mainwindow -> TabFrame -> TabPage2 -> ScaleWidth, $mainwindow -> 
TabFrame -> TabPage2 -> ScaleHeight - 40 );
        $mainwindow -> TabFrame -> TabPage2 -> Button1 -> Move 
($mainwindow -> TabFrame -> TabPage2 -> ScaleWidth / 2 - 70, $mainwindow 
-> TabFrame -> TabPage2 -> ScaleHeight - 30);
        $mainwindow -> TabFrame -> TabPage2 -> Button2 -> Move 
($mainwindow -> TabFrame -> TabPage2 -> ScaleWidth / 2 , $mainwindow -> 
TabFrame -> TabPage2 -> ScaleHeight - 30);

        $mainwindow -> TabFrame -> TabPage3 -> ListView2 -> Move (0, 0);
        $mainwindow -> TabFrame -> TabPage3 -> ListView2 -> Resize 
($mainwindow -> TabFrame -> TabPage3 -> ScaleWidth, $mainwindow -> 
TabFrame -> TabPage3 -> ScaleHeight);

        $mainwindow -> StatusBar -> Move (0, $windowheight - $mainwindow 
-> StatusBar -> Height);
        $mainwindow -> StatusBar -> Resize ($windowwidth, $mainwindow -> 
StatusBar -> Height);

}

--------------------------[ End Code ]------------------------------- 


------------------------------------------------------------------------------
Electronic Privacy Notice. This e-mail, and any attachments, contains 
information that is, or may be, covered by electronic communications privacy 
laws, and is also confidential and proprietary in nature. If you are not the 
intended recipient, please be advised that you are legally prohibited from 
retaining, using, copying, distributing, or otherwise disclosing this 
information in any manner. Instead, please reply to the sender that you have 
received this communication in error, and then immediately delete it. Thank you 
in advance for your cooperation.
==============================================================================

Reply via email to