Ŀ
 BOLDY.H


/**************************************************************************/
/* boldy.h - 室 ⥪ ணࠬ                     */
/*           v0.03                                                        */
/*========================================================================*/
/* (c) VicTor Smirnoff, 1998-2000                    sva@water.karelia.ru */
/**************************************************************************/

/**************************************************************************/
/* 䨪 ⥫ ᮮ饭                                */
/**************************************************************************/
#define MY_QUERYSIZE WM_USER+1 // ஢ઠ ࠧ஢ 
#define MY_SETSIZE   WM_USER+2 // ⠭ ࠧ஢ 

/**************************************************************************/
/* 䨪                                             */
/**************************************************************************/
#define IDS_APPTITLE       1   //  ணࠬ
                               // (  )

/**************************************************************************/
/* 䨪 ࠡ   ᮢ                                 */
/**************************************************************************/
#define ID_MSGBOX         11   //  ᮮ饭 (WinMessageBox)

/**************************************************************************/
/* 䨪 ᮮ饭  訡                                     */
/**************************************************************************/
#define IDS_CREATEMAIN  1001   // 訡 ᮧ 
                               //  ਫ

/**************************************************************************/
/* 䨪 ᭮   ᮢ                                */
/**************************************************************************/
#define ID_MAIN          101   //   ਫ

/**************************************************************************/
/*  ᫥ 䨪 짮⥫᪨ ᮢ.                */
/*   ᮧ ᢮ ᮡ⢥  (ਬ,    */
/* DLGEDIT). 䨪  ᮢ  ᫥       */
/* ਥ    ᥪ  騬 ᠬ. ⥬  */
/*     ணࠬ ( ஢         */
/* ணࠬ  !)   RC (. RCboldy.CMD).                    */
/**************************************************************************/

//--- 
#define ID_FILE          102
#define ID_OPEN          103
#define ID_SAVE          104
#define ID_SAVEAS        105
#define ID_EXIT          106   //  室 
#define ID_HELP          107
#define ID_ABOUT         108

//---  
#define ID_ICON          109
#define ID_TEXT          110

Ŀ
 BOLDY.CPP


/**************************************************************************/
/* boldy.cpp - 室 ⥪ ணࠬ                   */
/*           v0.03                                                        */
/*========================================================================*/
/* (c) VicTor Smirnoff, 1998-2000                    sva@water.karelia.ru */
/**************************************************************************/
#define INCL_PM
#define INCL_DOSPROCESS        // 㦥  DosSleep()

#include <os2.h>
#include <stdlib.h>            // 㦥  max()
#include <string.h>            // 㦥  strncpy()
#include <stdio.h>             // 㦥  sprintf()

#define Main main

#ifdef __HIGHC__
   #define min( a, b ) ( ((a) < (b)) ? (a) : (b) )
   #define max( a, b ) ( ((a) > (b)) ? (a) : (b) )
#endif

#include "boldy.h"

/**************************************************************************/
/* ⨯ 㭪権                                                      */
/**************************************************************************/
MRESULT EXPENTRY WndDlgProc( HWND, ULONG, MPARAM, MPARAM );
VOID SetDlgItemPos( LONG, LONG );
VOID DisplayError( ULONG );
VOID BeepError( ULONG );

/**************************************************************************/
/* ⠭                                                              */
/**************************************************************************/
#define RETURN_ERROR         1      // 祭   訡
#define BEEP_WARN_FREQ    3000      // ⮭ ᨣ  訡
#define BEEP_WARN_DUR      200      // ⥫쭮 ᨣ  訡
#define BEEP_WARN_PAUSE     40      // 㧠  ᨣ  訡
#define BEEP_WARN_INIT       2      // ᫮ ᨣ  訡 樠樨
#define BEEP_WARN_QUEUE      4      // ᫮ ᨣ  訡 ᮧ ।
#define MSG_WARN_SIZE       80      //  ᮮ饭  訡

/**************************************************************************/
/*  ६                                                  */
/**************************************************************************/
HAB  hab;
HWND hwndMain;
HPOINTER hptrIcon = NULLHANDLE;

SWP swpDefault;                    // 䮫 ࠧ Dialog
SWP swpMini;                       // ࠧ Dialog । 樥

CHAR szAppTitle[MAXNAMEL];

/**************************************************************************/
/*  㭪 ਫ                                            */
/* 砥 ࠢ  ᪥ ਫ                             */
/**************************************************************************/
Main ()
{
   HMQ    hmq;
   QMSG   qmsg;

/**************************************************************************/
/* 樠  䥩                                      */
/*                                                                        */
/* (***) ᬮ   㢥७  ਬ, WinMessageBox()  ࠡ⠥  */
/*         ,   祭 hab   ᮧ । ᮮ饭.  */
/*       ⮬  訡  ᮮ頥 ਥ ᨣ.                */
/**************************************************************************/
   hab = WinInitialize( 0 );
   if ( hab == NULLHANDLE )
   {
      BeepError( BEEP_WARN_INIT );
      return RETURN_ERROR;
   }

/**************************************************************************/
/*  । ᮮ饭                                             */
/**************************************************************************/
   hmq = WinCreateMsgQueue( hab, 0 );
   if ( hmq == NULLHANDLE )
   {
      BeepError( BEEP_WARN_QUEUE );
      return RETURN_ERROR;
   }

/**************************************************************************/
/* 稬 ப   () ணࠬ                      */
/*                                                                        */
/* (***)  ணࠬ (  ) ࠭   */
/*       室   ᮮࠦ,              */
/*       ணࠬ     樮쭮 몥.              */
/*       饭    㣨 ⥪⮢ ᮮ饭    */
/*        ᪫   ணࠬ  ⮢*/
/*        ᨩ.                                           */
/*        ⮬ 砥 筮  ⮢   㦭    */
/*       몥    , 騥  EXE-䠩,  */
/*       RC (. RCboldy.CMD).                                            */
/**************************************************************************/
   WinLoadString( hab,
                  (HMODULE)0L,
                  IDS_APPTITLE,
                  MAXNAMEL,
                  (PSZ)szAppTitle );

   hptrIcon = WinLoadPointer( HWND_DESKTOP, 0L, ID_MAIN );

/**************************************************************************/
/*    ਫ (Dialog)                               */
/**************************************************************************/
   hwndMain = WinLoadDlg( HWND_DESKTOP, //  ࠧ
                          HWND_DESKTOP, //  ᮡ⢥
                          WndDlgProc,   // 楤 ࠡ⪨ 
                          (HMODULE)0,   // 0 -  EXE, #N -  DLL
                          ID_MAIN,      // 䨪   
                          NULL);        //   樠樨

   if ( hwndMain == NULLHANDLE )
   {
      DisplayError( IDS_CREATEMAIN );
      WinDestroyMsgQueue( hmq );
      WinTerminate( hab );
      return RETURN_ERROR;
   }

/**************************************************************************/
/*  ࠡ⪨ ᮮ饭                                               */
/**************************************************************************/
   while( WinGetMsg( hab, &qmsg, 0, 0, 0 ) ) 
   {
      WinDispatchMsg( hab, &qmsg );
   }

/**************************************************************************/
/* ⨥ ਫ                                                    */
/**************************************************************************/
   if ( hptrIcon != NULLHANDLE ) WinDestroyPointer( hptrIcon );

   WinDestroyWindow( hwndMain );
   WinDestroyMsgQueue( hmq );
   WinTerminate( hab );

   return 0;
}

/**************************************************************************/
/* 㭪   (Dialog)                                         */
/**************************************************************************/
MRESULT EXPENTRY WndDlgProc( HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2 )
{
   switch ( msg )
   {
/**************************************************************************/
/* WM_INITDLG                                                             */
/*      樠  Dialog                                 */
/*    (  ⮬     ᮧ)                             */
/*                                                                        */
/* 1. ᨬ ஢ ࠧ஢  Dialog                              */
/*                                                                        */
/* (***)  ࠢ쭮 祭 ࠧ஢ 䮫⭮   ⠭   */
/*        ࠧ஢ 諮   ⥫ ᮮ饭:     */
/*       MY_QUERYSIZE  MY_SETSIZE.                                       */
/*       頥 TRUE, ⮡ ⥬  ⠫ ⠭ 䮪      */
/*          ( 10 譨 ᮮ饭).                     */
/**************************************************************************/
      case WM_INITDLG:
         WinPostMsg( hwnd, MY_QUERYSIZE, NULL, NULL );
      return (MRESULT)TRUE;

/**************************************************************************/
/* MY_QUERYSIZE                                                           */
/*    㯠  ࠡ稪 (Dialog) ࠧ ᫥ WM_INITDLG            */
/*    ( ⮬ ६ 㦥 ᮧ  Dialog 䮫⭮ ࠧ)        */
/*                                                                        */
/* 1. ⠭   ⥪                                   */
/* 2. 㧨 ⠡ ᥫ஢                                      */
/* 3. ᮧ 짮⥫᪮                                       */
/* 4.    ᯨ᮪                                        */
/* 5. । 䮫 ࠧ  㢥稬    ;           */
/*      쭮  ࠧ (᫨   ࠧ,      */
/*     짮⥫᪮   ࢮ ᪥  ⮫쪮       */
/*    ᫥   ࠧ஢ ).                              */
/* 6. ⠭ ࠬ                                           */
/* 7. ᫨ ࠬ  ⠭ (ਬ, ),            */
/*     ᨬ   ⨢  䮫⭮ ࠧ               */
/**************************************************************************/
      case MY_QUERYSIZE:
      {
         SWP swp;
         SWCNTRL swctl;
         HSWITCH hswitch;
         HACCEL  hAccel;
         FRAMECDATA frame;

         WinSendMsg( hwndMain, WM_SETICON, (MPARAM)hptrIcon, (MPARAM)0L );
         WinSetWindowText( hwndMain, szAppTitle );

         hAccel = WinLoadAccelTable( hab, (HMODULE)NULLHANDLE, ID_MAIN );
         WinSetAccelTable( hab, hAccel, hwndMain );

         frame.cb = sizeof( FRAMECDATA );
         frame.flCreateFlags = FCF_MENU;
         frame.hmodResources = 0L;
         frame.idResources = ID_MAIN;

         WinCreateFrameControls( hwndMain, &frame, (PSZ)0L );

         swctl.hwnd = hwndMain;
         swctl.hwndIcon = hwndMain;
         swctl.hprog = NULLHANDLE;
         swctl.idProcess = 0;
         swctl.idSession = 0;
         swctl.uchVisibility = SWL_VISIBLE;
         swctl.fbJump = SWL_JUMPABLE;
         swctl.szSwtitle[0] = 0x00;
         swctl.szSwtitle[MAXNAMEL + 1] = 0x00;
         strncpy( swctl.szSwtitle, szAppTitle, MAXNAMEL );

         hswitch = WinAddSwitchEntry( &swctl );

         WinQueryWindowPos( hwnd, (PSWP)&swp );
         swp.cy += WinQuerySysValue( HWND_DESKTOP, SV_CYMENU );
         swpDefault = swp;
         swpMini = swp;
         WinSetWindowPos( hwnd, HWND_TOP, 
                          0, 0, swp.cx, swp.cy, 
                          SWP_SIZE | SWP_NOADJUST );

         WinPostMsg( hwnd, MY_SETSIZE, 
                     MPFROMLONG(swpDefault.cx), 
                     MPFROMLONG(swpDefault.cy) );
      }
      return (MRESULT)FALSE;

/**************************************************************************/
/* MY_SETSIZE                                                             */
/*    㯠  ࠡ稪 (Dialog) ᫥ MY_QUERYSIZE                */
/*     WM_ADJUSTWINDOWPOS  ࠢ ⮢  ᫥       */
/*     ࠧ஢  ;                                    */
/*     ⢥ ࠬ஢ 砥  ࠧ  Dialog           */
/*                                                                        */
/* 1. 樮㥬    ᮮ⢥⢨  묨 ࠧࠬ,   */
/*    ᫨   ஢                                         */
/*                                                                        */
/* (***) WinSetWindowPos(...,SWP_ACTIVATE) 頥  ⭮       */
/*       ॠ樨  ᨬ  ஢ ﭨ           */
/*       ( WinQueryWindowPos 頥 ࠧ  ࠢ ࠧ   */
/*        (40x40   32x32),   ࠭ 㦥            */
/*       ᮢ   ࠧ஢)                                 */
/*                                                                        */
/* (***) WinShowWindow(...,TRUE) 室    ᫥    */
/*       ᮧ                                                         */
/**************************************************************************/
      case MY_SETSIZE:
      {
         SWP swp;
         LONG deltaX, deltaY;

         WinSetWindowPos( hwnd, HWND_TOP, 
                          0L, 0L, 0L, 0L, SWP_ACTIVATE );

         WinQueryWindowPos( hwnd, (PSWP)&swp );

         if ( !(swp.fl & SWP_MINIMIZE) )
         {
            deltaX = swp.cx - LONGFROMMP(mp1);
            deltaY = swp.cy - LONGFROMMP(mp2);

            if ( deltaX != 0 || deltaY != 0 )
               SetDlgItemPos( deltaX, deltaY );

            WinShowWindow( hwnd, TRUE );
         }
      }
      return (MRESULT)FALSE;

/**************************************************************************/
/* WM_ADJUSTWINDOWPOS                                                     */
/*    㯠 ।  ࠧ஢                          */
/**************************************************************************/
      case WM_ADJUSTWINDOWPOS:
      {
         SWP swp;

         WinQueryWindowPos( hwnd, (PSWP)&swp );

/**************************************************************************/
/* SWP_MINIMIZE                                                           */
/*    襭                                            */
/*                                                                        */
/* 1. ࠭ ⥪騥 ࠧ   ᫥饣 ⠭       */
/**************************************************************************/
         if (((PSWP)mp1)->fl & SWP_MINIMIZE)
            WinQueryWindowPos( hwnd, (PSWP)&swpMini );

/**************************************************************************/
/* SWP_RESTORE || SWP_MAXIMIZE                                            */
/*    襭 ⠭  ᨬ                       */
/*                                                                        */
/* 1. ᫨  ஢ ﭨ,  ᮮ騬 ࠧ,            */
/*    ࠭ । 樥;                                     */
/*    SWP_ACTIVATE ⪫砥 - ⭮ ॠ樨                   */
/* 2.  ᮮ騬 ⥪騥 ࠧ                                   */
/*                                                                        */
/* (***) ஢ઠ  ࠧ  䮫 室               */
/*       ।饭  ࠧ஢ ᨬ஢         */
/*        䮫 (..   ﭥ  ࠭            */
/*       ᨬ஢  㬥 )                            */
/**************************************************************************/
         else if ( (((PSWP)mp1)->fl & SWP_RESTORE) ||
                   (((PSWP)mp1)->fl & SWP_MAXIMIZE) )
         {
            if ( swp.fl & SWP_MINIMIZE )
            {
               ((PSWP)mp1)->fl = ((PSWP)mp1)->fl & ~SWP_ACTIVATE;

               WinPostMsg( hwnd, MY_SETSIZE,
                           MPFROMLONG(swpMini.cx), 
                           MPFROMLONG(swpMini.cy) );
            }
            else
            {
               if ( (((PSWP)mp1)->cx < swpDefault.cx) ||
                    (((PSWP)mp1)->cy < swpDefault.cy) )
               {
                  ((PSWP)mp1)->cx = max( swpDefault.cx, ((PSWP)mp1)->cx );
                  ((PSWP)mp1)->cy = max( swpDefault.cy, ((PSWP)mp1)->cy );
               }

               WinPostMsg( hwnd, MY_SETSIZE,
                           MPFROMLONG(swp.cx), 
                           MPFROMLONG(swp.cy) );
            }
         }

/**************************************************************************/
/* SWP_SIZE                                                               */
/*    襭  ࠧ஢                                    */
/*                                                                        */
/* 1. ᫨  ࠧ  䮫 (쭮 ),         */
/*      ࠬ  ⠭ 䮫 ࠧ஢               */
/* 2. ᮮ騬 ⥪騥 ࠧ                                         */
/*                                                                        */
/* (***)   SWP_SIZE ᥣ 室    SWP_MOVE              */
/**************************************************************************/
         else if (((PSWP)mp1)->fl & SWP_SIZE)
         {
            if ( (((PSWP)mp1)->cx < swpDefault.cx) ||
                 (((PSWP)mp1)->cy < swpDefault.cy) )
            {
               ((PSWP)mp1)->cx = max( swpDefault.cx, ((PSWP)mp1)->cx );
               ((PSWP)mp1)->cy = max( swpDefault.cy, ((PSWP)mp1)->cy );
            }

            WinPostMsg( hwnd, MY_SETSIZE,
                        MPFROMLONG(swp.cx), 
                        MPFROMLONG(swp.cy) );
         }
      }
      return WinDefDlgProc( hwnd, msg, mp1, mp2 );

/**************************************************************************/
/* WM_CLOSE                                                               */
/*    㯠 ᫥ ࠡ⪨ WM_COMMAND=ID_EXIT (짮⥫          */
/*    񫪭   ,  F3  ࠫ 㭪              */
/*    )   񫪭  , 񫪭            */
/*    襭   ,  Alt-F4  ࠫ 㭪        */
/*      ⥬     ᮮ⢥饣 窠         */
/*                                                     */
/*                                                                        */
/* 1. ᨬ 襭 ਫ                                      */
/*                                                                        */
/* (***) WinDismissDlg  㦥, ..  ࠡ稪  ᯮ       */
/*       WinProcessDlg  WinDlgBox ( )                 */
/**************************************************************************/
      case WM_CLOSE:
         WinPostMsg( hwnd, WM_QUIT, NULL, NULL );
      return (MRESULT)FALSE;

/**************************************************************************/
/* WM_COMMAND                                                             */
/*    㯠, ᫨ 짮⥫   -      */
/*                                                                 */
/**************************************************************************/
      case WM_COMMAND:
         switch( SHORT1FROMMP( mp1 ) )
         {
/**************************************************************************/
/* 짮⥫ 񫪭   ,  F3  ࠫ 㭪    */
/*                                                                   */
/*                                                                        */
/* (***) ࠢ塞 WM_CLOSE, ⮡ ࠡ⪠ 室 뫠        */
/*        ࠧ                                                  */
/**************************************************************************/
            case ID_EXIT:
               WinPostMsg( hwnd, WM_CLOSE, NULL, NULL );
            break;

/**************************************************************************/
/* 짮⥫ ࠫ   㭪⮢                                */
/*                                                                        */
/* (***)  騩   㭪   ࠡ뢠.            */
/**************************************************************************/
            case ID_OPEN:
            case ID_SAVE:
            case ID_SAVEAS:
            case ID_ABOUT:
            break;

/**************************************************************************/
/*    ⠢ ࠡ ⮢ ᢮              */
/*                                                                        */
/* case:                                                                  */
/*    ...                                                                 */
/*    break;                                                              */
/**************************************************************************/

/**************************************************************************/
/* (***)  ᭨ ( ), ᫨ 믮 WinDefDlgProc   */
/*        㬮砭  ࠡ뢠 ⮢               */
/**************************************************************************/
            default:
            break;
         }
      return (MRESULT)FALSE;

/**************************************************************************/
/* WinDefDlgProc,  㬮砭                                            */
/**************************************************************************/
      default:
      return WinDefDlgProc( hwnd, msg, mp1, mp2 );
   }

   return (MRESULT)FALSE;
}

/**************************************************************************/
/* 樮஢ ⮢                                      */
/*                                                                        */
/* 樮    .                                   */
/*                                                                        */
/* ࠬ: dX - 饭 ࠧ஢    X                      */
/*            dY - 饭 ࠧ஢    Y                      */
/*                                                                        */
/* (***)     㭪  樮஢ ᢮        */
/*       ⮢ .                                               */
/**************************************************************************/
VOID SetDlgItemPos( LONG dX, LONG dY )
{
   HWND hwnd;
   SWP swp;

/**************************************************************************/
/* 祬                                              */
/* (ᮢ   ⥫쭮 ॥)                       */
/**************************************************************************/
   WinShowWindow( WinWindowFromID( hwndMain, ID_TEXT ), FALSE );
   WinShowWindow( WinWindowFromID( hwndMain, ID_ICON ), FALSE );
   WinShowWindow( WinWindowFromID( hwndMain, ID_EXIT ), FALSE );

/**************************************************************************/
/* 樮㥬                                                    */
/**************************************************************************/
   hwnd = WinWindowFromID( hwndMain, ID_ICON);
   WinQueryWindowPos( hwnd, (PSWP)&swp );
   WinSetWindowPos( hwnd, HWND_TOP,
                    swp.x + dX, swp.y + dY, swp.cx, swp.cy,
                    SWP_MOVE );

/**************************************************************************/
/* 樮㥬                                               */
/**************************************************************************/
   hwnd = WinWindowFromID( hwndMain, ID_EXIT);
   WinQueryWindowPos( hwnd, (PSWP)&swp );
   WinSetWindowPos( hwnd, HWND_TOP,
                    swp.x + dX, swp.y, swp.cx, swp.cy,
                    SWP_MOVE );

/**************************************************************************/
/* 塞 ࠧ ⥪⮢                                        */
/**************************************************************************/
   hwnd = WinWindowFromID( hwndMain, ID_TEXT);
   WinQueryWindowPos( hwnd, (PSWP)&swp );
   WinSetWindowPos( hwnd, HWND_TOP,
                    swp.x, swp.y, swp.cx + dX, swp.cy + dY,
                    SWP_SIZE );

/**************************************************************************/
/*                                               */
/**************************************************************************/
   WinShowWindow( WinWindowFromID( hwndMain, ID_TEXT), TRUE );
   WinShowWindow( WinWindowFromID( hwndMain, ID_ICON), TRUE );
   WinShowWindow( WinWindowFromID( hwndMain, ID_EXIT), TRUE );
}

/**************************************************************************/
/* 뢮 ᮮ饭  訡                                              */
/*                                                                        */
/*  ᮮ饭  訡 㦠  ᮢ  뢮    */
/*                                                                        */
/* ࠬ: idMsg - 䨪 ᮮ饭                    */
/**************************************************************************/
VOID DisplayError( ULONG idMsg )
{
   CHAR cMsg[MSG_WARN_SIZE] = "";

   WinLoadString( hab, (HMODULE)0L,
                  idMsg, MSG_WARN_SIZE,
                  (PSZ)cMsg );

   if ( cMsg[0] != 0 )
   {
      WinMessageBox( HWND_DESKTOP, HWND_DESKTOP, (PCH)cMsg,
                     (PCH)szAppTitle, ID_MSGBOX,
                     MB_OK | MB_APPLMODAL | MB_MOVEABLE | MB_ERROR );
   }
}

/**************************************************************************/
/* 饭  訡                                                    */
/*                                                                        */
/* 뤠  ᨣ  訡                                        */
/*                                                                        */
/* ࠬ: n - ⢮ ᨣ  ਨ                             */
/**************************************************************************/
VOID BeepError( ULONG n )
{
   INT i;

   for ( i = 0; i < n; i ++ )
   {
      DosBeep( BEEP_WARN_FREQ, BEEP_WARN_DUR );
      DosSleep( BEEP_WARN_PAUSE );
   }
}

Ŀ
 BOLDY.DEF


NAME BOLDY
WINDOWAPI

Ŀ
 BOLDY.RC


/**************************************************************************/
/* boldy.rc - 室 ⥪ ணࠬ                    */
/*            v0.03                                                       */
/*========================================================================*/
/* (c) VicTor Smirnoff, 1998-2000                    sva@water.karelia.ru */
/**************************************************************************/
#include <os2.h>
#include "boldy.h"

/**************************************************************************/
/* ⢥ 箪 ਫ                                          */
/*     ⫨稥    ਫ, ᮧ 㭪樥        */
/*    WinCreateStdWindow(),  ᮧ ३  ᮡ⢥       */
/*    箪 ਫ  ᯮ (  񭭮 䫠        */
/*    FCF_ICON).                                                          */
/**************************************************************************/
ICON ID_MAIN boldy.ico

/**************************************************************************/
/*  ᥫ஢                                                  */
/*     ⫨稥    ਫ, ᮧ 㭪樥        */
/*    WinCreateStdWindow(),  ᮧ ३  ⠡           */
/*    ᥫ஢  ᯮ (  񭭮 䫠            */
/*    FCF_ACCELTABLE).                                                    */
/**************************************************************************/
ACCELTABLE ID_MAIN PRELOAD
BEGIN
    VK_F3, ID_EXIT, VIRTUALKEY
END

/**************************************************************************/
/* 짮⥫᪮                                                   */
/*     ⫨稥    ਫ, ᮧ 㭪樥        */
/*    WinCreateStdWindow(),  ᮧ ३  짮⥫᪮  */
/*      ᮧ (  񭭮 䫠 FCF_MENU).             */
/**************************************************************************/
MENU    ID_MAIN PRELOAD
BEGIN
    SUBMENU "", ID_FILE
    BEGIN
        MENUITEM "",              ID_OPEN,    MIS_TEXT
        MENUITEM "࠭",            ID_SAVE,    MIS_TEXT
        MENUITEM "࠭  ...",    ID_SAVEAS,  MIS_TEXT
        MENUITEM SEPARATOR
        MENUITEM "室 \t F3",          ID_EXIT,    MIS_TEXT
    END
    SUBMENU "ࠢ", ID_HELP
    BEGIN
        MENUITEM " ணࠬ...",       ID_ABOUT,   MIS_TEXT
    END
END

/**************************************************************************/
/*  ப (䨪  ப  ᮮ饭ﬨ)                  */
/**************************************************************************/
STRINGTABLE PRELOAD
BEGIN
    IDS_CREATEMAIN,  "訡 ᮧ   "
    IDS_APPTITLE,    " "
END

/**************************************************************************/
/*  ਫ                                                      */
/**************************************************************************/
;;
rcinclude boldy.dlg
;

Ŀ
 BOLDY.DLG


/**************************************************************************/
/* boldy.dlg - 室 ⥪ ணࠬ                   */
/*             v0.03                                                      */
/*========================================================================*/
/* (c) VicTor Smirnoff, 1998-2000                    sva@water.karelia.ru */
/**************************************************************************/
DLGINCLUDE 1 "boldy.h"

DLGTEMPLATE ID_MAIN LOADONCALL MOVEABLE DISCARDABLE
BEGIN
    DIALOG  "", ID_MAIN, 0, 0, 156, 43, NOT FS_DLGBORDER | FS_SIZEBORDER |
            NOT WS_SAVEBITS, FCF_SYSMENU | FCF_TITLEBAR | FCF_MINBUTTON |
            FCF_MAXBUTTON
    BEGIN
        DEFPUSHBUTTON   "室", ID_EXIT, 98, 0, 58, 14
        ICON            ID_MAIN, ID_ICON, 117, 20, 20, 16, WS_GROUP
        LTEXT           " ⮩ ਬ   ᮧ"
                        "    塞묨 ࠧࠬ  "
                        " 騬 ਡ⠬ ३: (1)ᮡ⢥ "
                        "箪 ਫ, (2)짮⥫᪮ , (3)"
                        "-ᥫ.",
                        ID_TEXT, 1, 0, 90, 41, DT_WORDBREAK
                        PRESPARAMS PP_BACKGROUNDCOLOR, 0x00FFFFDCL
                        PRESPARAMS PP_FONTNAMESIZE, "8.Helv"
    END
END

Ŀ
 MAKEALL.CMD


/* 맮  */
'@echo off'

Icon_is_present = Stream( 'boldy.ico', 'C', 'Query Exists' )

If Icon_is_present \= '' then do
 Address CMD 'icc boldy.cpp boldy.def'
 Address CMD 'rc boldy.rc boldy.exe'
 Address CMD 'del /F boldy.obj >nul 2>nul'
 Address CMD 'del /F boldy.res >nul 2>nul'
End
Else do
 Say 'Not found: boldy.ico'
End

Ŀ
 RCBOLDY.CMD


/*  ᮢ boldy.exe */
'@echo off'

Address CMD 'rc boldy.rc'