En mi programa, estoy utilizando la anulación de WndProc para evitar que mi formulario cambie de tamaño. La cosa es que el cursor todavía está allí cuando mueves el puntero al borde de la forma. ¿Hay alguna forma de ocultar este cursor?C# Hide Resize Cursor
Respuesta
he encontrado una manera de utilizar WndProc gracias al enlace Lasse me ha enviado. Gracias por su respuesta Jon, pero no era exactamente lo que quería. Para aquellos que quieren saber cómo lo hice, utilicé esta:
protected override void WndProc(ref Message m)
{
const int WM_NCHITTEST = 0x0084;
switch (m.Msg)
{
case WM_NCHITTEST:
return;
}
base.WndProc(ref m);
}
No he probado a fondo así que no sé si hay efectos secundarios, pero funciona muy bien para mí en este momento :).
Estaba a punto de responder algo así cuando lo publicaste, me alegro de que hayas encontrado tu respuesta. Sin embargo, no necesitas un descanso después del regreso. –
sí, tienes razón. fuerza de hábito^_^ – Ozzy
¿Por qué no configurar la propiedad FormBorderStyle
de forma adecuada en su lugar? Entonces tampoco necesita usar WndProc
.
Aquí hay un código de ejemplo para demostrar - haga clic en el botón para cambiar o no la forma puede cambiar de tamaño:
using System;
using System.Windows.Forms;
using System.Drawing;
class Test
{
[STAThread]
static void Main(string[] args)
{
Button button = new Button
{
Text = "Toggle border",
AutoSize = true,
Location = new Point(20, 20)
};
Form form = new Form
{
Size = new Size (200, 200),
Controls = { button },
FormBorderStyle = FormBorderStyle.Fixed3D
};
button.Click += ToggleBorder;
Application.Run(form);
}
static void ToggleBorder(object sender, EventArgs e)
{
Form form = ((Control)sender).FindForm();
form.FormBorderStyle = form.FormBorderStyle == FormBorderStyle.Fixed3D
? FormBorderStyle.Sizable : FormBorderStyle.Fixed3D;
}
}
lo tengo configurado para cambiar el tamaño de la caja de herramientas porque en Vista, se obtiene ese bonito borde alrededor de él. usando 3d fijo, no obtienes ese borde (establezco controlBox en falso y sin título) – Ozzy
Suponiendo que te refieres a SizeableToolWindow, ¿has probado FixedToolWindow? Se ve exactamente lo mismo para mí, simplemente no se puede redimensionar. –
Downvoters: por favor explique, para que la respuesta pueda mejorarse. –
Basta con configurar FormBorderStyle para esto. ¿Por qué estás usando WndProc para esto?
porque en este caso formborderstyle no es suficiente. – Ozzy
@Ozzy/Lasse ¡Trabajó para mí!
tenía el mismo problema: los estilos de borde
estándar no dan el aspecto que quiero, CreateParams personalizados hacer. Especifiqué los mismos valores para Size, MinimumSize y MaximumSize para desactivar el cambio de tamaño. Los cursores de cambio de tamaño todavía se están estableciendo sin embargo, gracias a Ozzy & Lasse esto ahora se maneja mediante el filtrado de WM_NCHITTEST ...
Gracias
- 1. Textarea resize
- 2. Ruby - Hide "^ C" en la interrupción
- 3. wpf resize complete
- 4. MapView IOS MapView resize
- 5. iText Image Resize
- 6. Resize UIImageView en UITableViewCell
- 7. Javascript Image Resize
- 8. QWidget resize signal?
- 9. CSS, auto resize div?
- 10. boost :: multi_array resize no funciona
- 11. pyside show/hide layouts
- 12. Doxygen hide archivos fuente
- 13. jQuery show/hide td
- 14. jQuery imgAreaSelect hide/show?
- 15. jQuery .hide() fadeIn()
- 16. Hide Soft Keyboard
- 17. C# Auto Resize Form al tamaño de DataGridView
- 18. stl vector y C++: cómo .resize sin un constructor predeterminado?
- 19. Textarea resize vertical en ie
- 20. nivo slider image resize issue
- 21. Hide Soft Keyboard Not Working
- 22. Jquery hide show input object
- 23. Single Form Hide on Startup
- 24. jQuery show/hide no funciona
- 25. En copy hide textarea (JQuery)
- 26. JQuery show/hide when hover
- 27. Cursor dentro del cursor
- 28. std :: strings's capacity(), reserve() & resize() functions
- 29. ¿Cómo? WPF Window - Maximized, No Resize/Move
- 30. resize svg image insert with content: url()
no he probado esto, así que sólo estoy comentando, ¿ha tratado de interceptar el mensaje WM_NCHITTEST? Más información aquí: http://msdn.microsoft.com/en-us/library/ms645618(VS.85).aspx –