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 閱讀(1030) 評論(0)  編輯  收藏 所屬分類: perl-殺雞就要用牛刀
          主站蜘蛛池模板: 安化县| 壶关县| 奉贤区| 普安县| 吉林省| 长武县| 尚义县| 凤台县| 页游| 威海市| 哈巴河县| 赫章县| 拉萨市| 绥棱县| 富裕县| 东乌| 武城县| 万全县| 巴林右旗| 淮南市| 兴城市| 邮箱| 中超| 岐山县| 泽普县| 基隆市| 长海县| 项城市| 潍坊市| 华安县| 肥西县| 日照市| 西乌珠穆沁旗| 盘锦市| 远安县| 山阳县| 武威市| 杭州市| 丰都县| 澳门| 阿巴嘎旗|