Red de conocimiento informático - Problemas con los teléfonos móviles - Desarrollo y programación de UI

Desarrollo y programación de UI

Crear interfaces de UI en lenguaje C requiere bibliotecas de UI relevantes.

Por ejemplo, el propio sistema operativo Windows proporciona una interfaz UI.

Un código de muestra simple es el siguiente

#Contains? ltwindows.h gt

¿RESULTADO? ¿Llamar de vuelta? WndProc(HWND, UINT, WPARAM, LPARAM);

int? ¿WINAPI? WinMain(¿hin instancia? HINSTANCE HINSTANCE? hprevinstance, LPSTR? line, int? cmd)

{

¿Electricidad estática? ¿TCHAR? NombreAplicación[]= TEXTO(" 99 ");

HWND? hwnd

¿MSG? MSG;

¿WNDCLASS? wndclass

clase wnd = CS _ HREDRAW | CS _ VREDRAW;

wndclass.lpfnWndProc = WndProc

clase wnd >

clase wnd . cbwndextra = 0;

clase wnd . h instancia = h instancia;

wndclass.hIcon=LoadIcon(NULL,IDI_Application);

clase wnd . hcursor = cargar cursor(NULL, IDC _ ARROW);

clase wnd = (HBRUSH)GetStockObject(WHITE _ BRUSH);

wndclass .lpszMenuName = NULL

clase wnd . lpsz nombre de clase = AppName;

if (!register class(amp;wndclass))

{

MessageBox(NULL, TEXT("¿Este? ¿Programa? ¿Requisitos? ¿Windows? ¡NT!"), AppName, error MB_icon);

¿Regresar? 0;

}

Hwnd=CreateWindow(AppName, TEXT ("tabla de multiplicar 99"),\

WS_OVERLAPPEDWINDOW,\

CW_USEDEFAULT,\

CW_USEDEFAULT,\

CW_USEDEFAULT,\

CW_USEDEFAULT,\

Vacío,\

Vacío,\

hinstance,\

NULL);

ShowWindow(hwnd, cmd);

Actualizar ventana(hwnd);

while(GetMessage(amp;msg,NULL,0,0))

{

Traducir mensaje (amp msg);

mensaje de envío(amp;MSG);

}

¿Devolver? msg.wParam

}

LRESULTADO? ¿Llamar de vuelta? WndProc(HWND? hwnd, UINT? mensaje, WPARAM? wparam, LPARAM? lparam)

{

HDC? hdc

P

¿INTESTRUCTURA? PD;

¿RECTO? rect

¿Electricidad estática? x, y;

int? I,j;

int? len

TCHAR? buf[50];

¿Métricas de texto? TM;

Cambiar (mensaje)

{

¿Caso? WM_CREATE:

hdc = GetDC(hwnd);

GetTextMetrics(hdc&TM);

x = tm.tmAveCharWidth

y = TM . TM altura TM . tmexternalleading;

ReleaseDC(hwnd, hdc);

//MessageBox(NULL, TEXT("¿Creado? ¡Exitoso!"), TEXT( "Exitoso ") , MB_OK);

//PlaySound(TEXT("hello.wav "), NULL, SND_FILENAME | SND_ASYNC);

¿Regresar? 0;

¿Caso? WM_PAINT:

hdc = comenzar pintura(hwnd y PS);

GetClientRect(hwnd y rect);

//DrawText(hdc, TEXT( "¿Hola? ¡Mundo!"), -1, amprect, DT _ línea única | DT _ CENTER | DT _ VCENTER

//TextOut(hdc, rect.right/2-(strlen(" ¡Hola? Mundo! ")/2)*x, rect.bottom/2-y/2, TEXT("¿Hola? Mundo!"), 12);

for(I = 1; ¡Yo! =10; i)

{

for(j = 1; j!= I 1; j)

{

len =wsprintf(buf, TEXT("dxd=-4d "), j, I, I * j

TextOut(hdc, j*len*x, i*y, buf, len);

}

}

Acabado (hwnd y PS);

¿Volver? 0;

¿Caso? WM_DESTROY:

PostQuitMessage(0);

¿Volver? 0;

}

¿Volver? DefWindowProc(hwnd, message, wparam, lparam);

}Lo anterior es un código de programa en lenguaje C que utiliza una interfaz de ventana para imprimir 99 tablas de multiplicar en Windows.

El mismo lenguaje C también tendrá otras bibliotecas de UI.

Por ejemplo, Gtk es una biblioteca de interfaz de usuario portátil.

Puedes usarlo para programar UI en Linux, Windows, Mac y otros sistemas operativos.

Un código de muestra simple es el siguiente

#Contains? ltGTK/GTK . h gt;

int? main(int? argc, char? **argv)

{

GtkWidget? *Ganar;

¿GtkWidget? *Etiqueta;

int? I,j;

GScadena? * str

GTK _ init( amp; argc amp; argv);

win = GTK _ WINDOW _ new (GTK _ ventana _ nivel superior

GTK_WINDOW_set_position(GTK_WIN(WIN), GTK_WIN_POS_CENTER);

g_signal_connect(G_OBJECT(win), "eliminar-evento", G_CALLBACK(gtk_main_quit), NULL);

str = g_string_new( NULL);

for(I = 1; i? lt=?9; i)

{

for(j = 1; j?!= ?I 1; j)

g_string_append_printf(str, " dxd=-4d ", j, I, I * j

g_string_append(str, "\n");

}

label = GTK_label_new(str- gt;str);

GTK_CONTAINER_add(GTK_container(win), etiqueta);

GTK_widget_show_all(win);

GTK_main() ;

g_string_free(str, TRUE);

¿Volver? 0;

}