{"id":136,"date":"2011-08-09T16:03:19","date_gmt":"2011-08-09T19:03:19","guid":{"rendered":"http:\/\/leandroascierto.com\/blog\/?p=136"},"modified":"2011-08-25T07:39:45","modified_gmt":"2011-08-25T10:39:45","slug":"mdi-con-fichas","status":"publish","type":"post","link":"https:\/\/leandroascierto.com\/blog\/mdi-con-fichas\/","title":{"rendered":"MDI con Fichas"},"content":{"rendered":"<p>Aprovechando la creaci\u00f3n del\u00a0<a href=\"https:\/\/leandroascierto.com\/blog\/2011\/08\/mdi-taskbar\/\">ucMDITaskBar<\/a>\u00a0cree este control de usuario para poner un TabControl a un formulario MDI, el cual no requiri\u00f3 muchos cambios, aproveche el\u00a0<a href=\"http:\/\/www.leandroascierto.com\/foro\/index.php?topic=1065.0\">ucTabStrip de Raul338<\/a>, su uso es muy sencillo s\u00f3lo basta con poner un control sobre el formulario MDI y el control se encarga del resto.<br \/>\nSi bien hay algunos c\u00f3digos similares dando vuelta por la web, este tiene algunas opciones extra, como por ejemplo poner la cruz de cerrar en cada ficha, invocar el SysMenu de cada formulario con el click derecho en la ficha, adem\u00e1s, no requiere c\u00f3digo extra.<\/p>\n<p>Detalles de sus propiedades y funciones:<\/p>\n<ul>\n<li><em>Initialize<\/em>: Esta funci\u00f3n es encaso que si dentro del evento Load del formulario MDI se carga alg\u00fan formulario es necesaria llamarla para inicializar el control antes que el formulario, de lo contrario lo este lo ara autom\u00e1ticamente, su \u00fanico par\u00e1metro es el hwnd del formulario MDI.<\/li>\n<li><em>IconSize<\/em>: Devuelve o establece el tama\u00f1o de icono que queramos utilizar.<\/li>\n<li><em>MinTabWidth<\/em>: Devuelve o establece el tama\u00f1o m\u00ednimo para cada ficha.<\/li>\n<li><em>MaxLen<\/em>: Devuelve o establece el largo del texto que se quiera mostrar, supongamos que un formulario tienen un Caption muy extenso la ficha seria muy larga, pues con esta propiedad podemos hacer que se limite a cierta cantidad de caracteres y as\u00ed establecer un ancho m\u00e1ximo para las fichas, si dejamos 0 mostrara el Caption completo.<\/li>\n<li><em>CloseButtonVisible<\/em>: Devuelve o establece si el control mostrara la cruz de cerrar en cada ficha<\/li>\n<li><em>CloseButtonStyle<\/em>: Devuelve o establece el estilo del bot\u00f3n cerrar de la ficha, cuenta con dos estilos<\/li>\n<li><em>MultiLine<\/em>: Devuelve o establece si el control mostrara las fichas en una sola fila o en varias.<\/li>\n<li><em>ShowMenu<\/em>: Devuelve o establece si el usuario puede invocar el SysMenu al hacer click derecho en cada ficha<\/li>\n<li><em>Enabled<\/em>: Devuelve o establece si el control est\u00e1 o no habilitado<\/li>\n<li><em>Font<\/em>: Devuelve o establece la Fuente para el TabControl.<\/li>\n<li><em>hwndTabControl<\/em>: Devuelve\u00a0 el Handle del SysTabControl32<\/li>\n<li><em>hwndUserControl<\/em>: Devuelve\u00a0 el Handle del control de usuario<\/li>\n<li><em>hwndMDIClient<\/em>: Devuelve el Handle MDIClient del formulario MDI<\/li>\n<\/ul>\n<p align=\"center\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"http:\/\/www.leandroascierto.com\/blog\/imagenes\/TabMDI.png\" alt=\"TabMDI.png\" width=\"507\" height=\"549\" \/><\/p>\n<p align=\"center\"><a href=\"https:\/\/leandroascierto.com\/blog\/descarga.php?url=ucTabMDI.zip\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" title=\"Descargar\" src=\"https:\/\/leandroascierto.com\/blog\/descarga.php?file=ucTabMDI.zip\" alt=\"\" width=\"280\" height=\"61\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Aprovechando la creaci\u00f3n del\u00a0ucMDITaskBar\u00a0cree este control de usuario para poner un TabControl a un formulario MDI, el cual no requiri\u00f3 muchos cambios, aproveche el\u00a0ucTabStrip de Raul338, su uso es muy sencillo s\u00f3lo basta con poner un control sobre el formulario MDI y el control se encarga del resto. Si bien hay algunos c\u00f3digos similares dando <a href='https:\/\/leandroascierto.com\/blog\/mdi-con-fichas\/' class='excerpt-more'>[&#8230;]<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[27,5,28],"class_list":["post-136","post","type-post","status-publish","format-standard","hentry","category-controles-de-usuarios","tag-control-de-usuario","tag-mdi","tag-sysmenu","category-26-id","post-seq-1","post-parity-odd","meta-position-corners","fix"],"_links":{"self":[{"href":"https:\/\/leandroascierto.com\/blog\/wp-json\/wp\/v2\/posts\/136","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/leandroascierto.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/leandroascierto.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/leandroascierto.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/leandroascierto.com\/blog\/wp-json\/wp\/v2\/comments?post=136"}],"version-history":[{"count":7,"href":"https:\/\/leandroascierto.com\/blog\/wp-json\/wp\/v2\/posts\/136\/revisions"}],"predecessor-version":[{"id":432,"href":"https:\/\/leandroascierto.com\/blog\/wp-json\/wp\/v2\/posts\/136\/revisions\/432"}],"wp:attachment":[{"href":"https:\/\/leandroascierto.com\/blog\/wp-json\/wp\/v2\/media?parent=136"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/leandroascierto.com\/blog\/wp-json\/wp\/v2\/categories?post=136"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/leandroascierto.com\/blog\/wp-json\/wp\/v2\/tags?post=136"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}