C++ Builder MEMO1
ファイル(エプクスローラーなどから)をフォームにドロップ&ドラッグ
1:form1.hに追加
private: void __fastcall WMDROPFILES(TWMDropFiles Msg);
  BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_DROPFILES,TWMDropFiles,WMDROPFILES)
  END_MESSAGE_MAP(TForm)

2:起動時に「DragAcceptFiles(Handle,True);」を追加

3:form1.cppに追加
void __fastcall TForm1::WMDROPFILES(TWMDropFiles Msg){
 int i;
 char buf[MAX_PATH];
 //ドラッグされたファイルの個数
 int cnt=::DragQueryFile((HDROP)Msg.Drop,0xFFFFFFFF,NULL,0);

 for(int i=0;i<cnt;i++){
  ::DragQueryFile((HDROP)Msg.Drop, i,buf,sizeof(buf));
 // bufにファイル名が入っている
}}

マウスの座標を取得
TPoint a;
GetCursorPos(&a);
Left=a.x-100;Top=a.y-8;

レジストリ操作
TRegistry *re;
int z,zx,zy; char st[16];
re=new TRegistry;
re->RootKey=HKEY_CURRENT_CONFIG;
re->OpenKey("\\Display\\Settings",False);
StrPCopy(st,re->ReadString("BitsPerPixel"));
Label1->Caption=st;
re->Free();

デスクトップをキャプチャー
int xx=GetSystemMetrics(SM_CXSCREEN);
int yy=GetSystemMetrics(SM_CYSCREEN);
HANDLE dc;
dc=GetDC(0);
BitBlt(Image2->Canvas->Handle,0,0,xx,yy,dc,0,0,SRCCOPY);

戻る