Articles of forms

电子邮件联系表单没有PHP

我想为我正在创build的网站使用联系表单,但由于客户端不希望使用PHP,因此不能使用PHP。 有没有一个聪明的方法来解决这个问题,通过发送电子邮件参数(这是非标准的),或者使用外部联系表单? 有没有好的,不使用广告,并容易修改为不同的语言,例如? 谢谢。

我怎样才能得到不是主窗体的窗体的任务栏button?

如何让表单显示在Delphi的任务栏上? 例如,在Firefox中,当您在新窗口中打开页面时,它会在任务栏上创build另一个窗口,而不会创build新的过程。 目前我的Delphi应用程序在单击button时打开一个新窗体,但任务栏上仍然只有一个东西,所以当button被创build时,您不能在主窗体和创build窗体之间进行alt-tab点击。 如何更改它,使新窗体出现一个新的任务栏button? 我目前的代码如下所示: procedure Form1ButtonClick(Sender: TObject); begin Form2.Show; end; 我一直在搞CreateWindowEx ,但理想情况下,我想find一个比直接使用Windows API更简单的解决scheme。

Delphi 7的forms,主持人不在Vista中工作

该软件build立在Delphi 7上。 在我的XP机器上,窗体的大小如我所料。 但是,在两台Vista机器上,我有一些组件,其锚点设置为[akLeft,akTop,akRight,akBottom],但是当调整表单的大小时,组件不会随着表单拉伸,在右侧和底部边缘留下空白。 在XP机器上,组件正确地拉伸forms。 所以,Vista机器似乎忽略了锚定属性。 任何想法是什么造成这一点,以及如何解决它? 重要更新(弗朗索瓦): 我们在D2007应用程序和所有x64窗口上遇到了同样的问题。 安德烈亚斯的答案确实是解决的办法。 所以这不是D7也不是Vista相关的。

在Delphi中有多种forms

在我的Delphi项目中,我想要一个“设置”button,当点击时,打开第二个窗体(我认为这是正确的术语,我基本上想要打开一个新窗口)进行设置。 当用户完成更改这个新窗体上的设置时,我希望窗体closuresbutton单击。 用户input的设置还需要可以访问第一个“主”forms。 所以,例如,如果我的程序由一个主表单组成,那么计算的'A'+'B'(A和B是整数variables),设置表单允许用户设置A和B的值,做这个?

在您自己的应用程序中可视化地包含其他应用

我有四个用Delphi(Win32)编写的小型单一实用程序应用程序,每隔一段时间我都想用一种方式让他们“感觉”,好像它们都是一个应用程序,主要是为了切换回来和他们之间超级简单。 例如,能够将它们作为容器插入到TabSheet中,或者沿着这些线条插入它们将会很棒。 AppControls制作了一个整洁的小组件,它与TForm后代做了类似的事情,允许它们被插入到Delphi应用程序的另一个容器中(参见acEmbeddedForm http://www.appcontrols.com/appcontrols/overview.html这里),但我不认为有任何方法可以用四个独立的应用程序来做到这一点,除非我为了这个最终结果而构build第五个应用程序,并且编译原来的四个应用程序的所有forms。 我也可以想象要“包含”或embedded一些其他应用程序(例如,记事本)。 在delphi这可能吗? (所有的东西都是可能的… <g>)…如果是这样的话,那会非常困难,需要大量的Windows API熟悉吗? 我在想这些答案可能是肯定的,是的,但希望答案是肯定的,不。 以为我会问,只要确定。 <G> 如果从编程的angular度来看,我在这里做梦,而且这样做比做事更有价值。 任何build议的实用程序之间来回切换标准的三个或四个应用程序之间来回比在Windows中通常更简单?

Windows窗体,从父窗体获取一个属性

我有一个问题。 我有一个父表单中的数据表。 我打开一个对话框窗体,获取datatable属性并创build一个checkbox列表。 这将用于导出这些列。 但是,当我运行该应用程序的父窗体属性为空。 我已经尝试在父窗体和对话框窗体中设置它(我认为如果ShowDialog()被调用,这将自动完成)。 有人可以看一下,看看我要去哪里错了吗? 从对话框中: frmParent MyParentForm = (frmParent)this.ParentForm; for (int i=0; i<MyParentForm.DataGridTable.Count; i++) { chkListExportItems.Add(MyParentForm.DataGrid.Columns[i].Name,true); } 从父母的forms: frmExports MyForm = new frmExports(); MyForm.MdiParent = this; if (MyForm.ShowDialog == DialogResult.OK) { MyForm.SelectedItems // Do something }

线程启动时的竞态条件?

我正在运行下面的代码来启动我的线程,但是它们不是按照预期启动的。 出于某种原因,一些线程以相同的对象开始(有些甚至不启动)。 如果我尝试debugging,他们开始就好(通过点击F10添加额外的延迟来逐步通过代码)。 这些是我的表单应用程序中的function: private void startWorkerThreads() { int numThreads = config.getAllItems().Count; int i = 0; foreach (ConfigurationItem tmpItem in config.getAllItems()) { i++; var t = new Thread(() => WorkerThread(tmpItem, i)); t.Start(); //return t; } } private void WorkerThread(ConfigurationItem cfgItem, int mul) { for (int i = 0; i < 100; i++) { Thread.Sleep(10*mul); } […]

在Windows窗体应用程序中使用游戏杆

我的应用程序有问题。 我写了一个在控制台中正常工作的代码,但是我需要制作一个GUI。 这个应用程序让我用操纵杆控制鼠标。 我正在使用Direcinput库。 它是阅读摇杆的名称和名称。 这是我的代码: #ifndef D_INPUT #define D_INPUT #include <dinput.h> #include <iostream> #endif LPDIRECTINPUT8 di; HRESULT hr; LPDIRECTINPUTDEVICE8 joystick; DIDEVICEINSTANCE pdidi; DIDEVICEINSTANCE info; BOOL CALLBACK enumCallback(const DIDEVICEINSTANCE* instance, VOID* context) { HRESULT hr; hr = di->CreateDevice(instance->guidInstance, &joystick, NULL); if (FAILED(hr)) { return DIENUM_CONTINUE; } return DIENUM_STOP; } BOOL CALLBACK enumAxesCallback(const DIDEVICEOBJECTINSTANCE* instance, VOID* […]