⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 initgui.c

📁 一个很好的SDL建立应用程序界面的例子
💻 C
📖 第 1 页 / 共 4 页
字号:
	attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &port0ButtonCB);	addButton(portMenu, btn, FALSE);	btn = newButton(0, 0, 0, 0, 0, 0, " /dev/ttyS1 ");	attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &port1ButtonCB);	addButton(portMenu, btn, FALSE);	btn = newButton(0, 0, 0, 0, 0, 0, " /dev/ttyS2 ");	attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &port2ButtonCB);	addButton(portMenu, btn, FALSE);	btn = newButton(0, 0, 0, 0, 0, 0, " /dev/ttyS3 ");	attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &port3ButtonCB);	addButton(portMenu, btn, FALSE);	btn = newButton(0, 0, 0, 0, 0, 0, " /dev/ttyUSB0 ");	attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &portUSB0ButtonCB);	addButton(portMenu, btn, FALSE);	btn = newButton(0, 0, 0, 0, 0, 0, " /dev/ttyUSB1 ");	attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &portUSB1ButtonCB);	addButton(portMenu, btn, FALSE);	btn = newButton(0, 0, 0, 0, 0, 0, " /dev/ttyUSB2 ");	attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &portUSB2ButtonCB);	addButton(portMenu, btn, FALSE);	btn = newButton(0, 0, 0, 0, 0, 0, " /dev/ttyUSB3 ");	attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &portUSB3ButtonCB);	addButton(portMenu, btn, FALSE);	btn = newButton(0, 0, 0, 0, 0, 0, " Close menu ");	attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &closePortMenuCB);	addButton(portMenu, btn, TRUE);	regionMenu = newVMenu(0, FONT_HEIGHT + 8, 0, 0, black, lgray, white, gray);	btn = newButton(0, 0, 0, 0, 0, 0, regionTypeText);	attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &nullCallBack);	addButton(regionMenu, btn, TRUE);	btn = newButton(0, 0, 0, 0, 0, 0, " program ");	attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &programSelectCB);	addButton(regionMenu, btn, FALSE);	btn = newButton(0, 0, 0, 0, 0, 0, " ID ");	attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &idSelectCB);	addButton(regionMenu, btn, FALSE);	btn = newButton(0, 0, 0, 0, 0, 0, " configuration ");	attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &configSelectCB);	addButton(regionMenu, btn, FALSE);	regionDataButton = newButton(0, 0, gray, lgray, 0, 0, " data ");	attachCallBack(regionDataButton, SDL_MOUSEBUTTONDOWN, (void *) &dataSelectCB);	addButton(regionMenu, regionDataButton, FALSE);	btn = newButton(0, 0, 0, 0, 0, 0, " cancel ");	attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &cancelSelectCB);	addButton(regionMenu, btn, TRUE);	eraseRegionMenu = newVMenu(50, FONT_HEIGHT * 3 - 4, 0, 0, black, lgray, white, gray);	btn = newButton(0, 0, 0, 0, 0, 0, " Erase select ");	attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &nullCallBack);	addButton(eraseRegionMenu, btn, TRUE);	btn = newButton(0, 0, 0, 0, 0, 0, " program ");	attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &erasePgmSelectCB);	addButton(eraseRegionMenu, btn, FALSE);	btn = newButton(0, 0, 0, 0, 0, 0, " ID ");	attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &eraseIDSelectCB);	addButton(eraseRegionMenu, btn, FALSE);	btn = newButton(0, 0, 0, 0, 0, 0, " configuration ");	attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &eraseConfigSelectCB);	addButton(eraseRegionMenu, btn, FALSE);	eraseRegionDataButton = newButton(0, 0, gray, lgray, 0, 0, " data ");	attachCallBack(eraseRegionDataButton, SDL_MOUSEBUTTONDOWN, (void *) &eraseDataSelectCB);	addButton(eraseRegionMenu, eraseRegionDataButton, FALSE);	btn = newButton(0, 0, 0, 0, 0, 0, " flash device ");	attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &eraseFlashSelectCB);	addButton(eraseRegionMenu, btn, FALSE);	btn = newButton(0, 0, 0, 0, 0, 0, " cancel ");	attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &cancelEraseSelectCB);	addButton(eraseRegionMenu, btn, TRUE);	userFileNameWin = newWindow(100, 30, 44 * FONT_WIDTH, 6 * FONT_HEIGHT, black, green, lgreen, dgreen);	attachCallBack(userFileNameWin, SDL_MOUSEBUTTONDOWN, (void *) &nullCallBack);	userFileName = newInputBox(100 + FONT_WIDTH, 40 + FONT_HEIGHT, FONT_WIDTH * 40, FONT_HEIGHT + 4, black, white, gray, lgray);	userFileNameBuffer[0] = '\0';	addInput(userFileName, userFileNameBuffer);	addInputBox(userFileNameWin, userFileName);	attachCallBack(userFileName, SDL_MOUSEBUTTONDOWN, (void *) &userFileInputCB);	attachCallBack(userFileName, SDL_KEYDOWN, (void *) &userFileInputCB);	userFileNameLabel = newLabel(1, 1, 0, 0, 0, 0, " Enter file name: ");	addLabel(userFileNameWin, userFileNameLabel, FALSE);	userFileNameCancelButton = newButton(30, 50, black, lgray, gray, lgray, " Cancel ");	attachCallBack(userFileNameCancelButton, SDL_MOUSEBUTTONDOWN, (void *) &userFileCancelCB);	addButton(userFileNameWin, userFileNameCancelButton, TRUE);	userFileNameOkButton = newButton(180, 50, black, lgray, gray, lgray, "   Ok   ");	attachCallBack(userFileNameOkButton, SDL_MOUSEBUTTONDOWN, (void *) &userFileOkCB);	addButton(userFileNameWin, userFileNameOkButton, TRUE);	editBoxWin = newWindow(60, 100, 63 * FONT_WIDTH, 6 * FONT_HEIGHT, black, green, lgreen, dgreen);	attachCallBack(editBoxWin, SDL_MOUSEBUTTONDOWN, (void *) &nullCallBack);	editBox = newInputBox(70 + FONT_WIDTH, 110 + FONT_HEIGHT, FONT_WIDTH * 57, FONT_HEIGHT + 4, black, white, gray, lgray);	editBoxBuffer[0] = '\0';	addInput(editBox, editBoxBuffer);	addInputBox(editBoxWin, editBox);	attachCallBack(editBox, SDL_MOUSEBUTTONDOWN, (void *) &editBoxCB);	attachCallBack(editBox, SDL_KEYDOWN, (void *) &editBoxCB);	editBoxLabel = newLabel(1, 1, 0, 0, 0, 0, " ");	addLabel(editBoxWin, editBoxLabel, FALSE);	editBoxCancelButton = newButton(80, 50, black, lgray, gray, lgray, " Cancel ");	attachCallBack(editBoxCancelButton, SDL_MOUSEBUTTONDOWN, (void *) &editBoxCancelCB);	addButton(editBoxWin, editBoxCancelButton, TRUE);	editBoxOkButton = newButton(220, 50, black, lgray, gray, lgray, "   Ok   ");	attachCallBack(editBoxOkButton, SDL_MOUSEBUTTONDOWN, (void *) &editBoxOkCB);	addButton(editBoxWin, editBoxOkButton, TRUE);	connectWin = newWindow(120, 30, 18 * FONT_WIDTH, 2 * FONT_HEIGHT, black, green, lgreen, dgreen);	addLabel(connectWin, newLabel(0, FONT_HEIGHT / 2, 0, 0, 0, 0, " Connecting... "), FALSE);	readingWin = newWindow(280, 30, 15 * FONT_WIDTH, 2 * FONT_HEIGHT, black, green, lgreen, dgreen);	addLabel(readingWin, newLabel(0, FONT_HEIGHT / 2, 0, 0, 0, 0, " Reading... "), FALSE);	writingWin = newWindow(80, 30, 19 * FONT_WIDTH, 2 * FONT_HEIGHT, black, lred, pink, red);	addLabel(writingWin, newLabel(0, FONT_HEIGHT / 2, 0, 0, 0, 0, " Programming... "), FALSE);	erasingWin = newWindow(80, 30, 19 * FONT_WIDTH, 2 * FONT_HEIGHT, black, lred, pink, red);	addLabel(erasingWin, newLabel(0, FONT_HEIGHT / 2, 0, 0, 0, 0, "   Erasing... "), FALSE);	checkingWin = newWindow(160, 30, 15 * FONT_WIDTH, 2 * FONT_HEIGHT, black, green, lgreen, dgreen);	addLabel(checkingWin, newLabel(0, FONT_HEIGHT / 2, 0, 0, 0, 0, " Checking... "), FALSE);	outputWin = newTextBox(outputWinX, outputWinY, outputWinW, outputWinH, black, white, lgray, gray);	attachCallBack(outputWin, SDL_MOUSEBUTTONDOWN, (void *) &outputWinCB);	attachCallBack(outputWin, SDL_KEYDOWN, (void *) &outputWinCB);	pmwLabel = newLabel(1, 2, white, blue, lblue, dblue, "Program Memory Window");	pmwLabel->w = outputWinW - 2;	attachCallBack(pmwLabel, SDL_MOUSEBUTTONDOWN, (void *) &displayLabelCB);	addLabel(outputWin, pmwLabel, TRUE);	dmwLabel = newLabel(1, 2, black, green, lgreen, dgreen, "Data Memory Window");	dmwLabel->w = outputWinW - 2;	dmwLabel->border = TRUE;	attachCallBack(dmwLabel, SDL_MOUSEBUTTONDOWN, (void *) &displayLabelCB);	i = FONT_HEIGHT * 1 + 8;	progLine0 = newLabel(OUTPUT_WIN_OFFSET, i, 0, 0, 0, 0, progData[0]);	progLine0->w = outputWinW - OUTPUT_WIN_OFFSET;	addLabel(outputWin, progLine0, FALSE);	i += FONT_HEIGHT;	progLine1 = newLabel(OUTPUT_WIN_OFFSET, i, 0, 0, 0, 0, progData[1]);	progLine1->w = outputWinW - OUTPUT_WIN_OFFSET;	addLabel(outputWin, progLine1, FALSE);	i += FONT_HEIGHT;	progLine2 = newLabel(OUTPUT_WIN_OFFSET, i, 0, 0, 0, 0, progData[2]);	progLine2->w = outputWinW - OUTPUT_WIN_OFFSET;	addLabel(outputWin, progLine2, FALSE);	i += FONT_HEIGHT;	progLine3 = newLabel(OUTPUT_WIN_OFFSET, i, 0, 0, 0, 0, progData[3]);	progLine3->w = outputWinW - OUTPUT_WIN_OFFSET;	addLabel(outputWin, progLine3, FALSE);	i += FONT_HEIGHT;	progLine4 = newLabel(OUTPUT_WIN_OFFSET, i, 0, 0, 0, 0, progData[4]);	progLine4->w = outputWinW - OUTPUT_WIN_OFFSET;	addLabel(outputWin, progLine4, FALSE);	i += FONT_HEIGHT;	progLine5 = newLabel(OUTPUT_WIN_OFFSET, i, 0, 0, 0, 0, progData[5]);	progLine5->w = outputWinW - OUTPUT_WIN_OFFSET;	addLabel(outputWin, progLine5, FALSE);	i += FONT_HEIGHT;	progLine6 = newLabel(OUTPUT_WIN_OFFSET, i, 0, 0, 0, 0, progData[6]);	progLine6->w = outputWinW - OUTPUT_WIN_OFFSET;	addLabel(outputWin, progLine6, FALSE);	i += FONT_HEIGHT;	progLine7 = newLabel(OUTPUT_WIN_OFFSET, i, 0, 0, 0, 0, progData[7]);	progLine7->w = outputWinW - OUTPUT_WIN_OFFSET;	addLabel(outputWin, progLine7, FALSE);	i += FONT_HEIGHT;	progLine8 = newLabel(OUTPUT_WIN_OFFSET, i, 0, 0, 0, 0, progData[8]);	progLine8->w = outputWinW - OUTPUT_WIN_OFFSET;	addLabel(outputWin, progLine8, FALSE);	i += FONT_HEIGHT;	progLine9 = newLabel(OUTPUT_WIN_OFFSET, i, 0, 0, 0, 0, progData[9]);	progLine9->w = outputWinW - OUTPUT_WIN_OFFSET;	addLabel(outputWin, progLine9, FALSE);	i += FONT_HEIGHT;	progLineA = newLabel(OUTPUT_WIN_OFFSET, i, 0, 0, 0, 0, progData[10]);	progLineA->w = outputWinW - OUTPUT_WIN_OFFSET;	addLabel(outputWin, progLineA, FALSE);	i += FONT_HEIGHT;	progLineB = newLabel(OUTPUT_WIN_OFFSET, i, 0, 0, 0, 0, progData[11]);	progLineB->w = outputWinW - OUTPUT_WIN_OFFSET;	addLabel(outputWin, progLineB, FALSE);	i += FONT_HEIGHT;	progLineC = newLabel(OUTPUT_WIN_OFFSET, i, 0, 0, 0, 0, progData[12]);	progLineC->w = outputWinW - OUTPUT_WIN_OFFSET;	addLabel(outputWin, progLineC, FALSE);	i += FONT_HEIGHT;	progLineD = newLabel(OUTPUT_WIN_OFFSET, i, 0, 0, 0, 0, progData[13]);	progLineD->w = outputWinW - OUTPUT_WIN_OFFSET;	addLabel(outputWin, progLineD, FALSE);	i += FONT_HEIGHT;	progLineE = newLabel(OUTPUT_WIN_OFFSET, i, 0, 0, 0, 0, progData[14]);	progLineE->w = outputWinW - OUTPUT_WIN_OFFSET;	addLabel(outputWin, progLineE, FALSE);	i += FONT_HEIGHT;	progLineF = newLabel(OUTPUT_WIN_OFFSET, i, 0, 0, 0, 0, progData[15]);	progLineF->w = outputWinW - OUTPUT_WIN_OFFSET;	addLabel(outputWin, progLineF, FALSE);	outputWin->lines = 16;	outputWin->vlines = 16;	disVSlider = newVSlider(outputWinX + outputWin->w + 1, outputWinY, 10, outputWinH, lgray, lgray, white, gray, 0, 0);	attachCallBack(disVSlider, SDL_MOUSEBUTTONDOWN, (void *) &disVSliderCB);	attachCallBack(disVSlider, SDL_MOUSEBUTTONUP, (void *) &disVSliderCB);	attachCallBack(disVSlider, SDL_MOUSEMOTION, (void *) &disVSliderCB);	attachCallBack(disVSlider, SLIDER_AUTO_CALLBACK, (void *) &disVSliderCB);	disVSlider->parent = (void *) outputWin;	disVSlider->range = 0;	disVSlider->offset = 0;	disVSlider->change = DISPLAY_LINES;	disVSlider->position = 0;	disVSlider->pc = 0;	outputWin->lines = 0;	showWidget(disVSlider);	helpMenu = newVMenu(HELP_MENU_X, HELP_MENU_Y, 0, 0, black, lgray, white, gray);	btn = newButton(0, 0, 0, 0, 0, 0, "Help topics:");	attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &nullCallBack);	addButton(helpMenu, btn, TRUE);	btn = newButton(0, 0, 0, 0, 0, 0, " File");	attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &FileHelpCB);	addButton(helpMenu, btn, FALSE);	btn = newButton(0, 0, 0, 0, 0, 0, "   Open");	attachCallBack(btn, SDL_MOUSEBUTTONDOWN, (void *) &OpenHelpCB);	addButton(helpMenu, btn, FALSE);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -