PHP-はじめの一歩(その12)Windowsプログラムの作り方(5)

   プログラミング [2010/12/03]
昨日の続きです。 ここで、昨日の説明で不足がありました。
ダイアログを生成した後に、メッセージハンドラを設定しているのですが、その例を示すのを忘れてました。
それが以下です。
---------------
//**********************************************************
//ダイアログメッセージハンドラ
// $window   ウィンドウオブジェクト
// $id     コントロールID
//**********************************************************
function process_dlg($window, $id, $ctrl, $param1, $param2)
{
  switch($id)
  {
    //****【x】ボタンが押されたら
    case IDCLOSE:
      wb_destroy_window($window);
      break;
  }
}
---------------

で、今日はここにダイアログ上の「追加」「更新」ボタンを押したときの処理を追加します。
こんな感じの処理になります。

---------------
//**********************************************************
//ダイアログメッセージハンドラ
// $window   ウィンドウオブジェクト
// $id     コントロールID
//**********************************************************
function process_dlg($window, $id, $ctrl, $param1, $param2)
{
 global $AryList;        //タブ区切りデータ保存配列
 global $Line_cnt;        //レコード数
 global $CurLItem;        //リストボックスのカレント行番号
 global $MWindow;        //メインウィンドウID

 switch($id)
 {
  //****追加ボタンが押されたら
  case IDC_BTADD:
   //「番号」を取り出す。
   $sample_no = wb_get_text(wb_get_control($window, IDC_EDNO));
   if ($sample_no == "" || $sample_no == null)
   {
    //「番号」が指定されていないときは、エラーメッセージを出す。
    wb_message_box($window, "番号は、必ず指定してください。",
           MY_NAME, WBC_WARNING);
    wb_set_focus(wb_get_control($window, IDC_EDNO));
    break;
   }
   //その他の入力項目を取り出して、配列にセットする。
   $AryList[$Line_cnt] = array();
   ReadEditCtrl($window, $Line_cnt);

   //行数を更新。リストボックスのカレント行を最終行にセット。
   $Line_cnt++;
   $CurLItem = $Line_cnt;
   //メインウィンドウのリストボックス更新する。
   RenewListBox($MWindow);
   wb_set_selected(wb_get_control($MWindow,IDC_LSSAMPLES), $CurLItem);
   //編集ダイアログを閉じる。
   wb_destroy_window($window);
   break;

  //****更新ボタンが押されたら
  case IDC_BTUPDATE:
   //「番号」を取り出す。
   $sample_no = wb_get_text(wb_get_control($window, IDC_EDNO));
   if ($sample_no == "" || $sample_no == null)
   {
    //「番号」が指定されていないときは、エラーメッセージを出す。
    wb_message_box($window, "番号は、必ず指定してください。",
           MY_NAME, WBC_WARNING);
    wb_set_focus(wb_get_control($window, IDC_EDNO));
    break;
   }
   //その他の入力項目を取り出して、配列にセットする。
   ReadEditCtrl($window, $CurLItem-1);

   //メインウィンドウのリストボックス更新する。
   RenewListBox($MWindow);
   wb_set_selected(wb_get_control($MWindow,IDC_LSSAMPLES), $CurLItem);

   //編集ダイアログを閉じる。
   wb_destroy_window($window);
   break;

  //****【x】ボタンが押されたら
  case IDCLOSE:
   wb_destroy_window($window);
   break;
 } //end switch
} //end function

//***********************************************************
//編集ダイアログから読み込み
// $window ウィンドウオブジェクト
// $line_no データ格納先の配列番号
//***********************************************************
function ReadEditCtrl($window, $line_no)
{
 global $AryList;        //タブ区切りデータ保存配列

 $AryList[$line_no][0] = wb_get_text(wb_get_control($window, IDC_EDNO));
 $AryList[$line_no][1] = wb_get_text(wb_get_control($window, IDC_EDFILE));
 $AryList[$line_no][2] = wb_get_text(wb_get_control($window, IDC_EDFILEBIG));
 $AryList[$line_no][3] = wb_get_text(wb_get_control($window, IDC_EDNAME));
 $AryList[$line_no][4] = wb_get_text(wb_get_control($window, IDC_EDSIZEH));
 $AryList[$line_no][5] = wb_get_text(wb_get_control($window, IDC_EDSIZEW));
 $AryList[$line_no][6] = wb_get_text(wb_get_control($window, IDC_EDSIZED));
 $AryList[$line_no][7] = wb_get_text(wb_get_control($window, IDC_EDRSTCNT));
 $AryList[$line_no][8] = wb_get_text(wb_get_control($window, IDC_EDMKCNT));
 $ng_flg = wb_get_value(wb_get_control($window, IDC_RDBANDNO));
 if ($ng_flg == true) $AryList[$line_no][9] = "0";
 else $AryList[$line_no][9] = "1";
 $AryList[$line_no][10] = wb_get_text(wb_get_control($window, IDC_EDCOMMENT));
 $AryList[$line_no][11] = wb_get_text(wb_get_control($window, IDC_EDPRICE));
}
---------------

さあ残りは・・・・「保存」「削除」エラー時の処理などです。

今日はこの辺で。 m(__)m
スポンサーサイト


コメントの投稿

非公開コメント

カレンダー
05 | 2017/06 | 07
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -
プロフィール

さるもすなる

Author:さるもすなる
さるです。別HPサイト「さるもすなる」から侵食してきました。 山菜/きのこ、それとタイトルにしたPPバンド籠のことをメインに徒然に・・・・暇を持て余したさるの手仕事:男手芸のブログってことで。

最新記事
最新コメント
月別アーカイブ
カテゴリ
天気予報

-天気予報コム- -FC2-
本家のHPのトップ
山菜や茸の話です
PPバンドの籠作品と作り方です
投稿をお待ちしております



ブログランキング・にほんブログ村へ にほんブログ村 ハンドメイドブログへ



マニュアルのお申し込み



検索フォーム
リンク
RSSリンクの表示
ブロとも申請フォーム

この人とブロともになる

QRコード
QR