home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1999 February / VPR9902A.BIN / APUPDATE / VC / Tx300d / TX300D.LZH / STDOUT.C < prev    next >
C/C++ Source or Header  |  1997-04-05  |  2KB  |  82 lines

  1. // WZ Stdout
  2. // Copyright 1995-96 TY
  3. // WZの標準出力窓です。
  4. // TX-Cのコンパイルエラーなどが出力されます。
  5. // マクロでprintfを使って、簡単に画面出力することにも使えます。
  6. // WZ 1.00H より、TXE化しました。
  7.  
  8. //2.96 970209 WZ Stdout 高速オープン対応にtryしたが、失敗した
  9.  
  10. #pragma TXE
  11.  
  12. #include <windows.h>
  13.  
  14. static mchar _szfilenameStdout[] = "stdout.tmp";
  15. static TX* _textStdout;
  16.  
  17. HOOKRESULT __wndprocbase(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
  18. {
  19.     if (textTarget != _textStdout) return FALSE;
  20.     switch(message) {
  21.         case WM_TXQUERYCLOSE: {
  22.             _textStdout->fEdit = FALSE;
  23.             break;
  24.         }
  25.     }
  26.     return FALSE;
  27. }
  28.  
  29. static void stdoutInit(TX* textStdout)
  30. {
  31. //2.96 970209 Stdout出力バッファの内容を取り込み、バッファを空にする
  32.     TX _text;
  33.     TX* text = &_text;
  34.     mchar szfilename[CCHPATHNAME];
  35.     pathFullConfig(szfilename,_szfilenameStdout);
  36.     if (txInit(text,szfilename)) {
  37.         txInsertText(textStdout,text);
  38.         txDeleteText(text);
  39.         txSave(text);
  40.         txClose(text);
  41.     }
  42. }
  43.  
  44. __txenew
  45. {
  46.     _textStdout = text;
  47.     text->share->hwndStdout = text->hwndbase;
  48. //    text->fTxeOpenHigh = TRUE; // 高速オープンはうまくいかない
  49.     macroHookWndBase();
  50.     SetWindowText(text->hwndbase,"WZ Stdout");
  51.     text->fTXE = TRUE;
  52.     //2.00E2 
  53.     text->fNoFlushKey = TRUE;
  54.     text->fConfigstdTextdata = TRUE;
  55.     text->fConfigsavePrim = TRUE;
  56.     // "stdout"または"テキストデータファイル"の設定がロードされる
  57.     txSetFileName(text,text->szexedir + "stdout");
  58.     //
  59.     text->width = MAXWIDTH;
  60.     text->fDispUnder = TRUE;
  61.     text->fSetWidthByWindow = FALSE;
  62.     text->fConfirmNewFile = FALSE;
  63.     text->modeWs = text->tmodeWs[0] = WS_DESTEXT;//2.98A 970311 Grepの幅が最大になった
  64.     //2.00E2 
  65.     strcpy(text->szkeywordfile,"stdout");
  66.     text->rgbKeyword = RGB(255,0,0);
  67.     text->fDispKeyword = COLORING_COLOR_BOLD;
  68.     text->fddeServer = TRUE;
  69.     text->fMessageWindow = TRUE;
  70.     strcpy(text->tsztitle[0],".");
  71. }
  72.  
  73. main
  74. {
  75. #key
  76.     search.txJumpTagEx        {ENTER}    {MouseL2}
  77. #end
  78.     //2.96 970209 
  79.     stdoutInit(text);
  80. }
  81.  
  82.