Skip to content

Instantly share code, notes, and snippets.

@hirosof
Created August 10, 2013 17:41
Show Gist options
  • Select an option

  • Save hirosof/6201350 to your computer and use it in GitHub Desktop.

Select an option

Save hirosof/6201350 to your computer and use it in GitHub Desktop.
#pragma once
#include <Windows.h>
#include <stdio.h>
typedef struct HSControlData
{
HWND hControl; //コントロール ウィンドウハンドル
WNDPROC OldProc; //従来のプロシージャ
wchar_t szControlName[260]; //コントロール名
UINT32 ControlNumber; //種別のコントロール番号
struct{
wchar_t Name[260]; //メニューID(マクロ名)
UINT32 ID; //メニューID
}MenuID;
BOOL isPreviewMode; //プレビューモードかどうか
BOOL isSelected; //選択されているか
}*LPHSControlData;
typedef struct HSInternalData
{
HSControlData Data;
HSInternalData *lpBack; //前のデータ
HSInternalData *lpNext; //次のデータ
}*LPHSInternalData;
class CHSInternalDataAdmin
{
private:
LPHSInternalData lpData; //設定
LPHSInternalData AllocNewSettingMemory(void); //新しい設定の位置を確保
LPHSInternalData GetSettingMemory(HWND hwnd); //指定されたコントロールを管理しているメモリのアドレスを確認する
public:
CHSInternalDataAdmin(); //コンストラクタ
~CHSInternalDataAdmin(); //デストラクタ
void Add(LPHSControlData lpAddData); //追加
void Destroy(HWND hObject); //コントロール破棄
void DestroyForSelectedObjects(void); //選択されているコントロール破棄
void AllDestroy(void); //全コントロール破棄
BOOL GetInfo(LPHSControlData lpInfo); //取得
BOOL SetInfo(LPHSControlData lpInfo); //設定
BOOL GetPreviewMode(HWND hwnd); //プレビューモード取得
BOOL SetPreviewMode(HWND hwnd , BOOL bMode); //プレビューモード設定
WNDPROC GetOldProc(HWND hwnd); //以前のプロシージャのアドレスを取得
BOOL SetSelected(HWND hwnd , BOOL bSelected); //オブジェクトが選択されているかの設定
BOOL GetSelected(HWND hwnd); //オブジェクトが選択されているかの設定取得
BOOL ChangeSelectObject(HWND hwnd , BOOL bOK_Multi = FALSE); //選択されているオブジェクトを変更する
BOOL SetAllSelect(void); //すべてのオブジェクトを選択状態にする
int GetSelectedObjectsCount(void); //選択されているオブジェクトの数を数える
int GetSelectedObjects(HWND *lpObjectHandles); //選択されている全オブジェクトの配列を返す
int GetNumberOfControls(TCHAR *lpszContorlName = NULL); //コントロールの数を数える
BOOL GetControlRect(HWND hwnd , RECT *lpRect); //指定されたコントロールの表示領域を取得する
BOOL GetControlPosition(HWND hwnd , POINT *lpPoint); //指定されたコントロールの位置を取得する
BOOL GetControlSize(HWND hwnd , SIZE *lpSize); //指定されたコントロールのサイズを取得する
BOOL SetControlPosition(HWND hwnd , POINT Point); //指定されたコントロールの位置を設定する
BOOL SetControlSize(HWND hwnd , SIZE Size); //指定されたコントロールのサイズを設定する
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment