2011-11-03 17 views
5

En Windows cuando se encuentra en el Explorador de Windows y hace clic derecho en un archivo o directorio, aparece un menú contextual de Windows con todas las acciones que uno puede hacer con respecto a este archivo o directorio.Abre el cuadro de diálogo contextual de un archivo, acción predeterminada y etc.

Hace mucho tiempo, Brad Stowers escribió una unidad ItemProp.pas que hacía exactamente lo mismo dentro de la propia aplicación Delphi. Esta unidad funciona muy bien a través de Delphi 5, pero para D7 y superior, se producen muchos errores.

http://www.koders.com/delphi/fid7ABE724EBD5F2123FF824AFD45151D2A087C5E6C.aspx?s=network

Está bien! ¡Lo admito! SOY perezoso y he buscado en Google una unidad actualizada e incluso una como esta, he trabajado durante un par de horas tratando de hacer esta unidad al menos compatible con D7, pero creo que me falta algo en alguna parte, ya que no he tenido éxito en ningún esfuerzo con respecto a esto .

Entonces ... mi pregunta es, ¿Alguien ha actualizado esta unidad para D7 y superior O existe una unidad o componente que hace lo que hace este código?

¡Gracias de antemano!

John

Respuesta

5

sospecho que todo lo que se necesita es actualizar las directivas de versión del compilador en DFS.inc

añadí

{$DEFINE DFS_DELPHI} 
{$DEFINE DFS_COMPILER_4_UP} 
{$DEFINE DFS_NO_COM_CLEANUP} 
{$DEFINE DFS_COMPILER_3_UP} 

al archivo principal (ItemProp.pas), y compiló OK en Delphi 2007, pero aún no intenté ejecutar el código.

+0

JEESH! Vi algo similar a esto en uno de los archivos de Google que encontré y que fue "agregado para D5", pero el código presentado tenía el dfs.inc eliminado, {$ I DFS.INC} fue eliminado y, por supuesto, no pudo compilar. Debería haber pensado en el futuro, pero estoy perdiendo mis habilidades de programación Delphi. ¡GRACIAS! – John

+0

@John: es bueno ver que encontraste la marca de verificación y aceptó la respuesta de Gerry. Es parte de lo que hace que SO funcione. ¿Te diste cuenta de que, aparte de aceptar la respuesta, también puedes votarla? –

+0

Gracias Marjan. Intenté anoche pero decía que necesitaba más 'puntos' o algo. Este AM me permitió votarlo. – John

5

En lugar de traducir esta unidad, puede usar la actualización JEDI JCL library, verifique la unidad JclShell, dentro de esta unidad existe una función llamada DisplayContextMenu que muestra el menú contextual de un archivo.

function DisplayContextMenu(const Handle: HWND; const FileName: string; 
    Pos: TPoint): Boolean; 
+0

Busqué JEDI también pensando que tenían que tener algo como esto. Con un montón de componentes, lo extrañé como de costumbre. ¡Gracias a todos! – John

Cuestiones relacionadas