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

📄 drawnbutton.c

📁 《Linux程序设计权威指南》源代码
💻 C
字号:
	/* File: drawnbutton.c */	#include <locale.h>	#include <Xm/Xm.h>	#include <Xm/DrawnB.h>	#include <X11/xpm.h>	#include "smile.xpm"	void callback(Widget w, XtPointer client_data,		XmDrawnButtonCallbackStruct *cbs)	{		if(cbs->reason == XmCR_ACTIVATE)			printf("drawn button activated.\n");		else if(cbs->reason == XmCR_EXPOSE)			printf("drawn button exposed.\n");		else if(cbs->reason == XmCR_RESIZE)			printf("drawn button resized.\n");	}	int main(int argc, char *argv[])	{		int i, n;		Arg args[10];		XtAppContext app;		Widget toplevel, drawn;		Pixmap pixmap, mask;		XpmAttributes attr;		setlocale(LC_ALL, "");		//建立顶级窗口		toplevel = XtVaAppInitialize(&app, "DrawnButton", NULL, 0,			&argc, argv, NULL, NULL);		XtVaSetValues(toplevel,			XmNborderWidth,		200,			NULL);				//建立图像		XpmCreatePixmapFromData(XtDisplay(toplevel),			XRootWindowOfScreen(XtScreen(toplevel)), 			xpm_smile, &pixmap, NULL, NULL);		//建立按钮		n = 0;		XtSetArg(args[n], XmNlabelType, XmPIXMAP);	n++;		XtSetArg(args[n], XmNlabelPixmap, pixmap);	n++;		drawn = XmCreateDrawnButton(toplevel, "drawnbutton", args, n);		XtManageChild(drawn);		//设置回调		XtAddCallback(drawn, XmNactivateCallback, 			(XtCallbackProc)callback, NULL);		XtAddCallback(drawn, XmNexposeCallback, 			(XtCallbackProc)callback, NULL);		XtAddCallback(drawn, XmNresizeCallback, 			(XtCallbackProc)callback, NULL);		//显示窗口		XtRealizeWidget(toplevel);		//进入事件循环		XtAppMainLoop(app);	}

⌨️ 快捷键说明

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