Просто слово предупреждения с:
DBCC CHECKIDENT (MyTable, RESEED, 0)
, Если Вы не усекали таблицу, и столбцом идентификационных данных является PK, Вы получите ошибку при достижении существующих ранее идентификационных данных.
, Например, у Вас уже есть идентификационные данные (3,4,5) в таблице. Вы тогда сбрасываете столбец идентификационных данных к 1. После того, как идентификационные данные 2 вставляются, следующая вставка попытается использовать идентификационные данные 3, который перестанет работать.
Размещение полного кода здесь - довольно сложная задача, но я постараюсь дать несколько советов, как это сделать:
Первый метод - загрузить изображение и раскрасить его
Загрузите изображение (к сожалению, простой Win32 API поддерживает довольно много форматов изображений BMP, ICO ...).
HBITMAP hImage = (HBITMAP) LoadImage (NULL, (LPCSTR) файл, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_LOADTRANSPARENT);
Сохраните описанный выше дескриптор где-нибудь в вашем приложении, чтобы вы могли получить к нему доступ из WindowProcedure
В WinProc в сообщении WM_PAINT вам нужно будет нарисовать изображение. Код выглядит примерно так:
HDC hdcMem = CreateCompatibleDC (hDC); // hDC - это структура DC, предоставляемая Win32API
SelectObject (hdcMem, hImage);
StretchBlt (
hDC, // конечный DC
left, // x вверху слева
top, // y вверху слева
width, // ширина назначения
height, // высота назначения
hdcMem, // вы только что создали это выше
0,
0, // x и y вверху слева
w, // ширина исходного растрового изображения
h, // высота исходного растрового изображения
SRCCOPY); // растровая операция
Должно работать.
Второй способ сделать это - создать статический элемент управления с типом SS_BITMAP и установить его изображение как:
hImage = LoadImage(NULL, file, IMAGE_BITMAP, w, h, LR_LOADFROMFILE);
SendMessage(hwnd, STM_SETIMAGE, IMAGE_BITMAP, (LPARAM)hImage);
, где hwnd - дескриптор вашего статического элемента управления.