Changeset 181 for trunk/dll/input.c


Ignore:
Timestamp:
May 28, 2005, 7:47:10 PM (20 years ago)
Author:
root
Message:

Use saymsg

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/input.c

    r2 r181  
     1
     2/***********************************************************************
     3
     4  $Id$
     5
     6  Input dialog procecedure
     7
     8  Copyright (c) 1993-98 M. Kimes
     9  Copyright (c) 2005 Steven H. Levine
     10
     11  28 May 05 SHL Use saymsg
     12
     13***********************************************************************/
     14
    115#define INCL_DOS
    216#define INCL_WIN
     17#include <os2.h>
    318
    4 #include <os2.h>
    519#include <stdlib.h>
    620#include <stdio.h>
    721#include <string.h>
     22
    823#include "fm3dll.h"
    924#include "fm3dlg.h"
     
    1227#pragma alloc_text(FMINPUT,InputDlgProc)
    1328
     29MRESULT EXPENTRY InputDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2)
     30{
     31  // mp2 points at a structure of type STRINGINPARMS
     32  STRINGINPARMS *psip;
     33  PSZ psz;
    1434
    15 MRESULT EXPENTRY InputDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {
    16 
    17   /*
    18    * mp2 should point at a structure of type STRINGINPARMS
    19    */
    20 
    21   STRINGINPARMS *ret;
    22 
    23   switch(msg) {
     35  switch(msg)
     36  {
    2437    case WM_INITDLG:
    25       if(!mp2) {
    26         WinDismissDlg(hwnd,0);
    27         break;
     38      if (!mp2)
     39      {
     40        WinDismissDlg(hwnd,0);
     41        break;
    2842      }
    2943      WinSetWindowPtr(hwnd,0,(PVOID)mp2);
    30       ret = (STRINGINPARMS *)mp2;
    31       if(!(BOOL)WinSendDlgItemMsg(hwnd,STR_INPUT,EM_SETTEXTLIMIT,
    32                         MPFROM2SHORT(ret->inputlen,0),MPVOID)) {
    33         DosBeep(50,100);
    34         WinDismissDlg(hwnd,0);
    35         break;
     44      psip = (STRINGINPARMS *)mp2;
     45      if (!(BOOL)WinSendDlgItemMsg(hwnd,STR_INPUT,EM_SETTEXTLIMIT,
     46                                   MPFROM2SHORT(psip->inputlen,0),MPVOID))
     47      {
     48        DosBeep(50,100);
     49        WinDismissDlg(hwnd,0);
     50        break;
    3651      }
    37       if(ret->prompt && *ret->prompt)
    38         WinSetDlgItemText(hwnd,STR_PROMPT,ret->prompt);
    39       if(ret->ret && *ret->ret) {
    40         WinSetDlgItemText(hwnd,STR_INPUT,ret->ret);
    41         WinSendDlgItemMsg(hwnd,STR_INPUT,EM_SETSEL,
    42                           MPFROM2SHORT(0,strlen(ret->ret)),MPVOID);
     52      if (psip->prompt && *psip->prompt)
     53        WinSetDlgItemText(hwnd,STR_PROMPT,psip->prompt);
     54      if (psip->ret && *psip->ret)
     55      {
     56        WinSetDlgItemText(hwnd,STR_INPUT,psip->ret);
     57        WinSendDlgItemMsg(hwnd,STR_INPUT,EM_SETSEL,
     58                          MPFROM2SHORT(0,strlen(psip->ret)),MPVOID);
    4359      }
    44       *ret->ret = 0;
    45       if(ret->title && *ret->title)
    46         WinSetWindowText(hwnd,ret->title);
     60      *psip->ret = 0;
     61      if (psip->title && *psip->title)
     62        WinSetWindowText(hwnd,psip->title);
    4763      break;
    4864
    49     case WM_CONTROL:    /* don't care */
     65    case WM_CONTROL:                    // don't care
    5066      return 0;
    5167
    5268    case WM_COMMAND:
    53       switch(SHORT1FROMMP(mp1)) {
    54         case DID_OK:
    55           ret = WinQueryWindowPtr(hwnd,0);
    56           WinQueryDlgItemText(hwnd,STR_INPUT,ret->inputlen,ret->ret);
    57           WinDismissDlg(hwnd,1);
    58           break;
     69      switch(SHORT1FROMMP(mp1))
     70      {
     71        case DID_OK:
     72          psip = WinQueryWindowPtr(hwnd,0);
     73          WinQueryDlgItemText(hwnd,STR_INPUT,psip->inputlen,psip->ret);
     74          WinDismissDlg(hwnd,1);
     75          break;
    5976
    60         case IDM_HELP:
    61           ret = WinQueryWindowPtr(hwnd,0);
    62           if(ret->help && *ret->help)
    63             WinMessageBox(HWND_DESKTOP,hwnd,ret->help,
    64                           GetPString(IDS_HELPTEXT),
    65                           0,MB_ENTER | MB_ICONASTERISK | MB_MOVEABLE);
    66           else
    67             WinMessageBox(HWND_DESKTOP,hwnd,
    68                           GetPString(IDS_ENTERTEXTHELPTEXT),
    69                           GetPString(IDS_HELPTEXT),
    70                           0,MB_ENTER | MB_ICONASTERISK | MB_MOVEABLE);
    71           break;
     77        case IDM_HELP:
     78          psip = WinQueryWindowPtr(hwnd,0);
     79          psz = psip->help && *psip->help ?
     80                psip->help : GetPString(IDS_ENTERTEXTHELPTEXT);
    7281
    73         case DID_CANCEL:
    74           WinDismissDlg(hwnd,0);
    75           break;
     82          saymsg(MB_ENTER | MB_ICONASTERISK,
     83                 hwnd,
     84                 GetPString(IDS_HELPTEXT),
     85                 psz);
     86          break;
     87
     88        case DID_CANCEL:
     89          WinDismissDlg(hwnd,0);
     90          break;
    7691      }
    7792      return 0;
Note: See TracChangeset for help on using the changeset viewer.