home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Microsoft Programmer's Library 1.3
/
Microsoft-Programers-Library-v1.3.iso
/
sampcode
/
win_lrn
/
clipbord
/
getclipf.c
< prev
next >
Wrap
Text File
|
1988-08-10
|
6KB
|
201 lines
/*
Function(s) demonstrated in this program: GetClipboardFormatName
Windows version: 2.03
Windows SDK version: 2.00
Compiler version: C 5.10
Description: This function returns the name of the registered format
requested.
Additional Comments:
*/
#define NOMINMAX
#include <windows.h>
#include <stdlib.h>
#include <stdio.h>
#include "GetClipF.h"
HWND hWndParent1;
HANDLE hInstMain;
char szOutputBuffer1 [70];
char szOutputBuffer2 [500];
/****************************************************************************/
/************************ Message Structure *************************/
/****************************************************************************/
struct { char *szMessage; }
Messages [] = {
"About",
" This is a sample application to demonstrate the\n\
use of the GetClipboardFormatName Windows function.",
"Help Message",
" This program uses the GetClipboardFormatName\n\
Windows function to retrieve the name of a format\n\
which was registered just prior to this function call\n\
under the name of TMSROMAN. This name is then\n\
displayed in a Message Box. Use the menu to invoke\n\
this function.",
};
/****************************************************************************/
void ProcessMessage (HWND, int);
void ProcessMessage (hWnd, MessageNumber)
HWND hWnd;
int MessageNumber;
{
sprintf (szOutputBuffer1, "%s", Messages [MessageNumber]);
sprintf (szOutputBuffer2, "%s", Messages [MessageNumber + 1]);
MessageBox (hWnd, szOutputBuffer2, szOutputBuffer1, MB_OK);
}
/****************************************************************************/
int PASCAL WinMain (hInstance, hPrevInstance, lpszCmdLine, nCmdShow)
HANDLE hInstance, hPrevInstance ;
LPSTR lpszCmdLine ;
int nCmdShow ;
{
static char szAppName [] = "GetClipF" ;
HWND hWnd ;
WNDCLASS wndclass ;
MSG msg;
short xScreen, yScreen ;
if (!hPrevInstance)
{
wndclass.style = CS_HREDRAW | CS_VREDRAW ;
wndclass.lpfnWndProc = WndProc ;
wndclass.cbClsExtra = 0 ;
wndclass.cbWndExtra = 0 ;
wndclass.hInstance = hInstance ;
wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ;
wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;
wndclass.hbrBackground = GetStockObject (WHITE_BRUSH) ;
wndclass.lpszMenuName = szAppName ;
wndclass.lpszClassName = szAppName ;
if (!RegisterClass (&wndclass))
return FALSE ;
}
xScreen = GetSystemMetrics (SM_CXSCREEN) ;
yScreen = GetSystemMetrics (SM_CYSCREEN) ;
hWndParent1 = CreateWindow (szAppName, /* window class name */
"GetClipboardFormatName", /* window caption */
WS_OVERLAPPEDWINDOW, /* window style */
CW_USEDEFAULT, /* initial x position */
0, /* initial y position */
CW_USEDEFAULT, /* initial x size */
0, /* initial y size */
NULL, /* parent window handle */
NULL, /* window menu handle */
hInstance, /* program instance handle */
NULL) ; /* create parameters */
ShowWindow (hWndParent1, nCmdShow) ;
UpdateWindow (hWndParent1) ;
hInstMain = hInstance;
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return (msg.wParam) ;
}
/****************************************************************************/
long FAR PASCAL WndProc (hWnd, iMessage, wParam, lParam)
HWND hWnd ;
unsigned iMessage ;
WORD wParam ;
LONG lParam ;
{
HMENU hMenu;
HDC hDC;
PAINTSTRUCT ps;
static int xClient, yClient;
WORD wFormat;
int nCopied;
char lpFormatName [40];
switch(iMessage)
{
case WM_CREATE:
hMenu = GetSystemMenu (hWnd, FALSE);
ChangeMenu (hMenu, NULL, "&About", IDM_ABOUT,
MF_APPEND | MF_STRING);
break;
case WM_SYSCOMMAND:
switch (wParam) {
case IDM_ABOUT:
ProcessMessage (hWnd, 0);
break;
default:
return DefWindowProc (hWnd, iMessage, wParam, lParam) ;
}
break;
case WM_COMMAND:
switch (wParam) {
case IDM_GETCLIPFNAME:
MessageBox (NULL, (LPSTR)"Getting clipboard format name",
(LPSTR)"GetClipboardFormatName", MB_OK);
wFormat = RegisterClipboardFormat ( (LPSTR)"TMSROMAN" );
nCopied = GetClipboardFormatName ( wFormat, lpFormatName, 20 );
if ( nCopied != 0 )
MessageBox (NULL, (LPSTR)lpFormatName,
(LPSTR)"The Format Name Is", MB_OK);
else
MessageBox (NULL, (LPSTR)"Format does not exits",
(LPSTR)"GetClipboardFormatName", MB_OK);
break;
case IDM_HELP:
ProcessMessage (hWnd, 2);
break;
}
break;
case WM_PAINT:
BeginPaint(hWnd, (LPPAINTSTRUCT)&ps);
EndPaint(hWnd, (LPPAINTSTRUCT)&ps);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
{
return DefWindowProc (hWnd, iMessage, wParam, lParam) ;
}
}
return (0L);
}