VisualC++相談室 6
■ このスレッドは過去ログ倉庫に格納されています
0670VC@2日目
NGNGクリップボードから文字列を取得して、リストビューに吐き出す。
というのを作ってるのですが、うまくいきません。
クリップボードからデータは取得できるのですが、
リストビューに追加するタイミングで、文字列がおかしくなります。
おかしくなる。というのは、例えば「プログラミング」という文字列のはずが
「%d4」になってしまう。という状況です。
コードを載せておきます。
typedef struct tagClipData
{
LPSTR Strings;
LPSTR ConstStrings;
} ClipDat;
ClipDat ClipData[98];
void ChangeClip()
{
LPSTR pPtr;
HANDLE hMem;
ClipDat NewDat[98];
OpenClipboard(NULL);
hMem = GetClipboardData(CF_TEXT);
pPtr = (LPSTR)GlobalLock(hMem);
GlobalUnlock(hMem);
if (NextViewer!=0) SendMessage(NextViewer, WM_DRAWCLIPBOARD, 0, 0);
NewDat[0].Strings = pPtr;
for(int i=1;i < 99;i++){
NewDat[i].Strings = ClipData[i - 1].Strings;
}
for(i=0;i < 99;i++){
ClipData[i].Strings = NewDat[i].Strings;
}
}
void ShowMain(BOOL booCenter)
{
LV_ITEM item;
ListView_DeleteAllItems(hList);
for(int i=0; i<99;i++){
item.mask = LVIF_TEXT;
item.pszText = ClipData[i].Strings;
item.iItem = i;
item.iSubItem = 0;
ListView_InsertItem(hList, &item);
}
}
■ このスレッドは過去ログ倉庫に格納されています