ivaneeo's blog

          自由的力量,自由的生活。

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks

          一段簡單的使用wxperl的perl代碼:



          #!/usr/bin/perl
          #############################################################################
          ## Name:??????? samples/hello/hello.pl
          ## Purpose:???? Hello wxPerl sample
          ## Author:????? Mattia Barbon
          ## Modified by:
          ## Created:???? 02/11/2000
          ## RCS-ID:????? $Id: hello.pl,v 1.3 2004/10/19 20:28:14 mbarbon Exp $
          ## Copyright:?? (c) 2000 Mattia Barbon
          ## Licence:???? This program is free software; you can redistribute it and/or
          ##????????????? modify it under the same terms as Perl itself
          #############################################################################

          ##??????這里發覺只有使用Wx,Encode,Encode::CN,File::Glob這四個模塊才能通過perl2exe編譯。

          ##??????但是還有把wxbase26u_gcc_custom.dll,wxmsw26u_adv_gcc_custom.dll,wxmsw26u_core_gcc_custom.dll

          ##??????拷到目錄下才能運行。

          use strict;
          use Wx;
          use Encode;
          use Encode::CN;
          #use PerlIO;
          #use POSIX;;
          #use Getopt::Std;
          use File::Glob;


          # every program must have a Wx::App-derive class
          package MyApp;

          use vars qw(@ISA);

          @ISA = qw(Wx::App);

          # this is called automatically on object creation
          sub OnInit {
          ? my( $this ) = shift;

          ? # create a new frame
          ? my( $frame ) = MyFrame->new();

          ? # set as top frame
          ? $this->SetTopWindow( $frame );
          ? # show it
          ? $frame->Show( 1 );
          }

          package MyFrame;

          use vars qw(@ISA);

          @ISA = qw(Wx::Frame);

          use Wx::Event qw(EVT_PAINT);
          # this imports some constants
          use Wx qw(wxDECORATIVE wxNORMAL wxBOLD);
          use Wx qw(wxDefaultPosition);
          use Wx qw(wxWHITE);

          sub new {
          ? # new frame with no parent, id -1, title 'Hello, world!'
          ? # default position and size 350, 100
          ? my( $this ) = shift->SUPER::new( undef, -1, 'Hello, world!',
          ?????????????????????????????????? wxDefaultPosition , [350, 100] );

          ? # create a new font object and store it
          ? $this->{FONT} = Wx::Font->new( 40, wxDECORATIVE, wxNORMAL, wxBOLD, 0 );
          ? # set background colour
          ? $this->SetBackgroundColour( wxWHITE );

          ? $this->SetIcon( Wx::GetWxPerlIcon() );

          ? # declare that all paint events will be handled with the OnPaint method
          ? EVT_PAINT( $this, \&OnPaint );

          ? return $this;
          }

          sub OnPaint {
          ? my( $this, $event ) = @_;
          ? # create a device context (DC) used for drawing
          ? my( $dc ) = Wx::PaintDC->new( $this );

          ? # select the font
          ? $dc->SetFont( $this->font );
          ? # darw a friendly message
          ? $dc->DrawText( 'Hello, world!', 10, 10 );
          }

          sub font {
          ? $_[0]->{FONT};
          }

          package main;

          # create an instance of the Wx::App-derived class
          my( $app ) = MyApp->new();
          # start processing events
          $app->MainLoop();

          # Local variables: #
          # mode: cperl #
          # End: #


          我現在還不知是為什么。如果有哪位高手知道,告訴小弟一聲。

          謝謝!

          posted on 2006-04-18 20:27 ivaneeo 閱讀(1031) 評論(0)  編輯  收藏 所屬分類: perl-殺雞就要用牛刀
          主站蜘蛛池模板: 壶关县| 子长县| 成武县| 疏勒县| 金昌市| 杭锦后旗| 蒲城县| 肇源县| 泗阳县| 古浪县| 土默特左旗| 永丰县| 邵武市| 六枝特区| 渭源县| 九龙城区| 铜鼓县| 泰兴市| 沙田区| 佛教| 惠州市| 沂南县| 岳阳县| 依安县| 乡宁县| 宜章县| 津市市| 灵川县| 华安县| 华亭县| 蒲江县| 清河县| 德兴市| 绥德县| 将乐县| 阳谷县| 图木舒克市| 昭觉县| 贵州省| 衡水市| 长治县|