Added:
* Password handle
* Text input retrieval
* Password handle
* Text input retrieval
Code:
#include "Handling.h"
handler Handling;
//================================================================================
void handler::savePosition( int x, int y, int w, int h, int number )
{
cHandler[ number ].x = x;
cHandler[ number ].y = y;
cHandler[ number ].w = w;
cHandler[ number ].h = h;
}
//================================================================================
void handler::Button( int x, int y, int w, int h, char *text )
{
CurrentCommand++;
cHandler[ CurrentCommand ].text = text;
savePosition( x, y, w, h, CurrentCommand );
cHandler[ CurrentCommand ].cHWND = CreateWindow( "Button", text, WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, x, y, w, h, hwnd, ( HMENU ) CurrentCommand, g_hInst, 0 );
}
//================================================================================
void handler::Edit( int x, int y, int w, int h, char *text )
{
CurrentCommand++;
cHandler[ CurrentCommand ].text = text;
savePosition( x, y, w, h, CurrentCommand );
cHandler[ CurrentCommand ].cHWND = CreateWindow( "Edit", text, WS_BORDER | WS_CHILD | WS_VISIBLE, x, y, w, h, hwnd, ( HMENU ) CurrentCommand, g_hInst, 0 );
}
//================================================================================
void handler::EditPassword( int x, int y, int w, int h, char *text )
{
CurrentCommand++;
cHandler[ CurrentCommand ].text = text;
savePosition( x, y, w, h, CurrentCommand );
HWND WindowReturn = CreateWindow( "Edit", text, ES_PASSWORD | WS_BORDER | WS_CHILD | WS_VISIBLE, x, y, w, h, hwnd, ( HMENU ) CurrentCommand, g_hInst, 0 );
}
//================================================================================
void handler::Static( int x, int y, int w, int h, char *text )
{
CurrentCommand++;
cHandler[ CurrentCommand ].text = text;
savePosition( x, y, w, h, CurrentCommand );
CreateWindow( "Static", text, WS_CHILD | WS_VISIBLE, x, y, w, h, hwnd, ( HMENU ) CurrentCommand, g_hInst, 0 );
}
//================================================================================
/*
int handler::getButtonIDbyName( char *name )
{
for ( int i = 0; i <= CurrentCommand; i++ )
{
if ( !strcmp( name, cHandler[ i ].text ) )
return i;
}
return NULL;
}
*/
//================================================================================
int handler::getButtonIDbyPosition( int x, int y, int w, int h )
{
for ( int i = 0; i <= CurrentCommand; i++ )
{
if ( cHandler[ i ].x == x &&
cHandler[ i ].y == y &&
cHandler[ i ].w == w &&
cHandler[ i ].h == h )
return i;
}
return NULL;
}
//================================================================================
char *handler::getButtonStringByPosition ( int x, int y, int w, int h, char tString[MAXSTRINGLENGTH] )
{
if ( GetDlgItemText( hwnd, getButtonIDbyPosition( x, y, w, h ), tString, MAXSTRINGLENGTH ) )
return tString;
else
return NULL;
}
//================================================================================
/*
char *handler::getButtonNameByID( int ID )
{
if ( cHandler[ ID ].text != NULL )
return cHandler[ ID ].text;
else
return NULL;
}
*/
//================================================================================
char *handler::getButtonNameByPosition ( int x, int y, int w, int h )
{
for ( int i = 0; i <= CurrentCommand; i++ )
{
if ( cHandler[ i ].x == x &&
cHandler[ i ].y == y &&
cHandler[ i ].w == w &&
cHandler[ i ].h == h )
return cHandler[ i ].text;
}
return NULL;
}
Code:
#include <windows.h>
#include <vector>
using namespace std;
#define MAXACTIONS 64
#define MAXSTRINGLENGTH 16
//================================================================================
struct CommandHandler
{
HWND cHWND;
char *text;
int x;
int y;
int w;
int h;
};
//================================================================================
class handler
{
private:
int CurrentCommand;
HWND hwnd;
HINSTANCE g_hInst;
void savePosition( int x, int y, int w, int h, int number );
public:
HWND WindowReturn;
CommandHandler cHandler[ MAXACTIONS ];
void save( HINSTANCE Instance ) { g_hInst = Instance; }
void updateHandling( HWND Handling ) { hwnd = Handling; }
//char *getButtonNameByID( int ID );
char *getButtonNameByPosition ( int x, int y, int w, int h );
char *getButtonStringByPosition ( int x, int y, int w, int h, char tString[MAXSTRINGLENGTH] );
//int getButtonIDbyName( char *name );
int getButtonIDbyPosition( int x, int y, int w, int h );
void Edit( int x, int y, int w, int h, char *text );
void EditPassword( int x, int y, int w, int h, char *text );
void Static( int x, int y, int w, int h, char *text );
void Button( int x, int y, int w, int h, char *text );
public:
handler( ) : CurrentCommand( 0 ) { };
};
extern handler Handling;